< Dice
Revision as of 22:51, 18 April 2017 by Skizzerz (talk | contribs)

RollResult Class

From DiceRoller Documentation

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!).