< Dice
Difference between revisions of "Dice/RollResult"
From DiceRoller Documentation
Line 11: | Line 11: | ||
<syntaxhighlight lang="C#"> | <syntaxhighlight lang="C#"> | ||
[Serializable] | [Serializable] | ||
− | public class RollResult : ISerializable | + | public class RollResult : ISerializable, IEquatable<RollResult> |
</syntaxhighlight> | </syntaxhighlight> | ||
Line 28: | Line 28: | ||
! style="width: 5em" | | ! style="width: 5em" | | ||
! Name !! Description | ! Name !! Description | ||
+ | |- | ||
+ | | {{public}} {{method}} || [[/Equals (RollResult)|Equals(RollResult)]] || Compare two RollResults and return whether or not they are equal. | ||
+ | |- | ||
+ | | {{public}} {{method}} || [[/Equals (Object)|Equals(Object)]] || Compare two RollResults and return whether or not they are equal. Overridden from Object.Equals(Object). | ||
+ | |- | ||
+ | | {{public}} {{method}} || [[/GetHashCode|GetHashCode()]] || Gets a hash code for the RollResult. Overridden from Object.GetHashCode(). | ||
|- | |- | ||
| {{public}} {{method}} || [[/GetObjectData|GetObjectData(SerializationInfo, StreamingContext)]] || Serializes the RollResult. | | {{public}} {{method}} || [[/GetObjectData|GetObjectData(SerializationInfo, StreamingContext)]] || Serializes the RollResult. | ||
Line 60: | Line 66: | ||
|- | |- | ||
| {{private}} {{field}} || [[/AllMacros|AllMacros]] || The value for every macro, 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. | ||
+ | |} | ||
+ | |||
+ | == Overloaded Operators == | ||
+ | {| class="wikitable" | ||
+ | ! style="width: 5em" | | ||
+ | ! Name !! Description | ||
+ | |- | ||
+ | | {{public}} {{static}} {{method}} || [[/operator ==|operator ==(RollResult, RollResult)]] || Implements RollResult == RollResult. | ||
+ | |- | ||
+ | | {{public}} {{static}} {{method}} || [[/operator !=|operator !=(RollResult, RollResult)]] || Implements RollResult != RollResult. | ||
|} | |} | ||
Revision as of 22:51, 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, IEquatable<RollResult>
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 | |
---|---|---|
Equals(RollResult) | Compare two RollResults and return whether or not they are equal. | |
Equals(Object) | Compare two RollResults and return whether or not they are equal. Overridden from Object.Equals(Object). | |
GetHashCode() | Gets a hash code for the RollResult. Overridden from Object.GetHashCode(). | |
GetObjectData(SerializationInfo, StreamingContext) | Serializes the RollResult. | |
ToString() | Display a representation of the roll. Overrides Object.ToString(). |
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. |
Overloaded Operators
Name | Description | |
---|---|---|
S | operator ==(RollResult, RollResult) | Implements RollResult == RollResult. |
S | operator !=(RollResult, RollResult) | Implements RollResult != RollResult. |
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!).