Difference between revisions of "Dice/RollResult"

From DiceRoller Documentation
Line 10: Line 10:
 
== Syntax ==
 
== Syntax ==
 
<syntaxhighlight lang="C#">
 
<syntaxhighlight lang="C#">
public class RollResult
+
[Serializable]
 +
public class RollResult : ISerializable
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 18: Line 19:
 
! Name !! Description
 
! Name !! Description
 
|-
 
|-
| {{internal}} {{method}} || [[/RollResult|RollResult(DiceAST, Int32)]] || Constructs a new instance of RollResult.
+
| {{internal}} {{method}} || [[/RollResult (RollerConfig, DiceAST, Int32)|RollResult(RollerConfig, DiceAST, Int32)]] || Constructs a new instance of RollResult.
 +
|-
 +
| {{protected}} {{method}} || [[/RollResult (SerializationInfo, StreamingContext)|RollResult(SerializationInfo, StreamingContext)]] || Constructs a new instance of RollResult using the serialized data.
 
|}
 
|}
  
Line 27: Line 30:
 
|-
 
|-
 
| {{public}} {{method}} || [[/ToString|ToString()]] || Display a representation of the roll. Overrides Object.ToString().
 
| {{public}} {{method}} || [[/ToString|ToString()]] || Display a representation of the roll. Overrides Object.ToString().
 +
|}
 +
 +
== Explicit Interface Methods ==
 +
{| class="wikitable"
 +
! style="width: 5em" |
 +
! Name !! Description
 +
|-
 +
| {{public}} {{method}} || [[/GetObjectData|ISerializable.GetObjectData(SerializationInfo, StreamingContext)]] || Serializes the RollResult.
 
|}
 
|}
  
Line 33: Line 44:
 
! style="width: 5em" |
 
! style="width: 5em" |
 
! Name !! Description
 
! Name !! Description
 +
|-
 +
| {{public}} {{property}} || [[/Expression|Expression]] || The normalized dice expression that was rolled.
 
|-
 
|-
 
| {{public}} {{property}} || [[/NumRolls|NumRolls]] || The number of dice rolls that were needed to fully evaluate this expression.
 
| {{public}} {{property}} || [[/NumRolls|NumRolls]] || The number of dice rolls that were needed to fully evaluate this expression.
Line 43: Line 56:
 
|-
 
|-
 
| {{public}} {{property}} || [[/Values|Values]] || Gets the results of each individual die rolled.
 
| {{public}} {{property}} || [[/Values|Values]] || Gets the results of each individual die rolled.
 +
|}
 +
 +
== Fields ==
 +
{| class="wikitable"
 +
! style="width: 5em" |
 +
! Name !! Description
 +
|-
 +
| {{private}} {{field}} || [[/AllRolls|AllRolls]] || The rolled value for every die, from left-to-right according to the normalized Expression.
 +
|-
 +
| {{private}} {{field}} || [[/AllMacros|AllMacros]] || The value for every macro, from left-to-right according to the normalized Expression.
 
|}
 
|}
  
 
== Remarks ==
 
== Remarks ==
 
RollResults are returned from the [[Dice/Roller/Roll|Roller.Roll]] method, and can be used to obtain the results of the roll. This class is read-only. Typically, Value and Values are the only properties that are needed in the course of normal operations, however the full AST is exposed for advanced insight into the roll, should such be necessary.
 
RollResults are returned from the [[Dice/Roller/Roll|Roller.Roll]] method, and can be used to obtain the results of the roll. This class is read-only. Typically, Value and Values are the only properties that are needed in the course of normal operations, however the full AST is exposed for advanced insight into the roll, should such be necessary.
 +
 +
If a RollResult is deserialized, its RollRoot will be {{cs|null}}. A method may be provided in the future to re-construct the AST from the serialized data, but such a method does not currently exist. If you need access to the AST after deserialization, open an issue on GitHub letting me know (search for an existing one first!).

Revision as of 18:54, 18 April 2017

Contains the result of a roll expression.

  • Namespace: Dice
  • Assembly: DiceRoller (in DiceRoller.dll)

Inheritance Hierarchy

System.Object

Dice.RollResult

Syntax

[Serializable]
public class RollResult : ISerializable

Constructors

Name Description
RollResult(RollerConfig, DiceAST, Int32) Constructs a new instance of RollResult.
RollResult(SerializationInfo, StreamingContext) Constructs a new instance of RollResult using the serialized data.

Methods

Name Description
ToString() Display a representation of the roll. Overrides Object.ToString().

Explicit Interface Methods

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext) Serializes the RollResult.

Properties

Name Description
Expression The normalized dice expression that was rolled.
NumRolls The number of dice rolls that were needed to fully evaluate this expression.
ResultType Gets whether or not Value represents the die total or the number of successes.
RollRoot Gets the root of the dice expression's abstract syntax tree.
Value Gets the result of the roll.
Values Gets the results of each individual die rolled.

Fields

Name Description
AllRolls The rolled value for every die, from left-to-right according to the normalized Expression.
AllMacros The value for every macro, from left-to-right according to the normalized Expression.

Remarks

RollResults are returned from the Roller.Roll method, and can be used to obtain the results of the roll. This class is read-only. Typically, Value and Values are the only properties that are needed in the course of normal operations, however the full AST is exposed for advanced insight into the roll, should such be necessary.

If a RollResult is deserialized, its RollRoot will be null. A method may be provided in the future to re-construct the AST from the serialized data, but such a method does not currently exist. If you need access to the AST after deserialization, open an issue on GitHub letting me know (search for an existing one first!).