Difference between revisions of "Dice/AST/DiceAST"
From DiceRoller Documentation
(→Methods: additional framework for eventually implementing custom AST nodes) |
|||
(One intermediate revision by the same user not shown) | |||
Line 18: | Line 18: | ||
! Name !! Description | ! Name !! Description | ||
|- | |- | ||
− | | {{protected}} {{method}} || [[/Evaluate|Evaluate( | + | | {{protected}} {{method}} || [[/Evaluate|Evaluate(RollData, DiceAST, Int32)]] || Evaluates the node, causing it to store its result in Value. |
|- | |- | ||
− | | {{protected}} {{method}} || [[/EvaluateInternal|EvaluateInternal( | + | | {{protected}} {{method}} || [[/EvaluateInternal|EvaluateInternal(RollData, DiceAST, Int32)]] || Actual evaluation logic, implemented by each subclass. |
|- | |- | ||
− | | {{protected}} {{method}} || [[/Reroll|Reroll( | + | | {{protected}} {{method}} || [[/Reroll|Reroll(RollData, DiceAST, Int32)]] || Re-do the roll without re-evaluating the entire subtree again. |
|- | |- | ||
− | | {{protected}} {{method}} || [[/RerollInternal|RerollInternal( | + | | {{protected}} {{method}} || [[/RerollInternal|RerollInternal(RollData, DiceAST, Int32)]] || Actual reroll logic, implemented by each subclass. |
|- | |- | ||
− | | {{public}} {{method}} || [[/ToString|ToString()]] || Retrieves a normalized representation of the dice expression. | + | | {{public}} {{method}} || [[/ToString|ToString()]] || Retrieves a normalized representation of the dice expression. Overridden from Object.ToString. |
|} | |} | ||
Latest revision as of 21:42, 14 August 2017
Represents a node in the dice expression Abstract Syntax Tree.
- Namespace: Dice.AST
- Assembly: DiceRoller (in DiceRoller.dll)
Inheritance Hierarchy
System.Object
- Dice.AST.DiceAST
Syntax
public abstract class DiceAST
Methods
Name | Description | |
---|---|---|
Evaluate(RollData, DiceAST, Int32) | Evaluates the node, causing it to store its result in Value. | |
EvaluateInternal(RollData, DiceAST, Int32) | Actual evaluation logic, implemented by each subclass. | |
Reroll(RollData, DiceAST, Int32) | Re-do the roll without re-evaluating the entire subtree again. | |
RerollInternal(RollData, DiceAST, Int32) | Actual reroll logic, implemented by each subclass. | |
ToString() | Retrieves a normalized representation of the dice expression. Overridden from Object.ToString. |
Properties
Name | Description | |
---|---|---|
Evaluated | Gets whether or not this node has been evaluated. | |
UnderlyingRollNode | Gets the roll node underneath this node, unless this node is a roll node of some sort. | |
Value | Gets the final value of the node. | |
Values | Gets the underlying dice that were rolled, as well as their values. | |
ValueType | Gets what type of value we have (total or successes). |
Remarks
The DiceAST class and its subclasses implement the AST from the parser.