Difference between revisions of "Dice/DieResult"

From DiceRoller Documentation
Line 6: Line 6:
 
== Syntax ==
 
== Syntax ==
 
<syntaxhighlight lang="C#">
 
<syntaxhighlight lang="C#">
public struct DieResult
+
[Serializable]
 +
public struct DieResult : ISerializable
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Line 17: Line 18:
 
|-
 
|-
 
| {{public}} {{method}} || [[/DieResult (String)|DieResult(String)]] || Constructs a new DieResult with DieType SpecialDie.Text and the passed-in data.
 
| {{public}} {{method}} || [[/DieResult (String)|DieResult(String)]] || Constructs a new DieResult with DieType SpecialDie.Text and the passed-in data.
 +
|-
 +
| {{private}} {{method}} || [[/DieResult (SerializationInfo, StreamingContext)|DieResult(SerializationInfo, StreamingContext)]] || Constructs a new DieResult with serialized data.
 
|}
 
|}
  
Line 39: Line 42:
 
|-
 
|-
 
| {{public}} {{method}} || [[/Success|Success()]] || Return a new DieResult based on the current one flagged as a success.
 
| {{public}} {{method}} || [[/Success|Success()]] || Return a new DieResult based on the current one flagged as a success.
 +
|}
 +
 +
== Explicit Interface Methods ==
 +
{| class="wikitable"
 +
! style="width: 5em" |
 +
! Name !! Description
 +
|-
 +
| {{public}} {{method}} || [[/GetObjectData|GetObjectData(SerializationInfo, StreamingContext)]] || Serializes a DieResult.
 
|}
 
|}
  

Revision as of 19:38, 18 April 2017

Contains the result of an individual die roll.

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

Syntax

[Serializable]
public struct DieResult : ISerializable

Constructors

Name Description
DieResult(SpecialDie) Constructs a new DieResult corresponding to the given SpecialDie.
DieResult(String) Constructs a new DieResult with DieType SpecialDie.Text and the passed-in data.
DieResult(SerializationInfo, StreamingContext) Constructs a new DieResult with serialized data.

DieResult additionally has an automatically generated default constructor, which is not listed above.

Methods

Name Description
Drop() Return a new DieResult based on the current one flagged as dropped.
Equals(object) Compare two DieResults and return whether or not they are equal. Overridden from Object.Equals(object).
Failure() Return a new DieResult based on the current one flagged as a failure.
GetHashCode() Gets a hash code for the DieResult. Overridden from Object.GetHashCode().
IsLiveDie() Checks if the die is not a special die and has not been dropped.
IsSpecialDie(SpecialDie) Checks if this die is a special die of the specified type.
Success() Return a new DieResult based on the current one flagged as a success.

Explicit Interface Methods

Name Description
GetObjectData(SerializationInfo, StreamingContext) Serializes a DieResult.

Properties

Name Description
Data Gets or sets string data associated with a roll.
DieType Gets or sets what type of die was rolled.
Flags Gets or sets any special flags giving more information about the roll.
NumSides Gets or sets how many sides the die had.
SpecialDie Gets or sets what type of special die this is. Calling this is an error if DieType != DieType.SpecialDie.
SuccessCount Gets 1 if the die is a success, -1 if the die is a failure, and 0 otherwise.
Value Gets or sets what the result of the roll was.

Overloaded Operators

Name Description
S operator ==(DieResult, DieResult) Implements DieResult == DieResult.
S operator !=(DieResult, DieResult) Implements DieResult != DieResult.

Remarks

The NumSides property is only non-zero if DieType is DieType.Normal or DieType.Fudge. If DieType is DieType.Special, then Value can be cast into a SpecialDie enum value, however it is usually better to access the SpecialDie property instead as typecasts are unnecessary with that property.

The property setters are provided for dice construction purposes. Since DieResult is a value type, attempting to call a setter on a DieResult instance will result in a new instance being constructed rather than the existing instance being mutated (unless the instance is a ref or out parameter).