Difference between revisions of "Dice/MacroCallback"

From DiceRoller Documentation
(Created page with "{{APIdoc|MacroCallback Delegate}} Encapsulates a method which executes macro logic. {{ns}} == Syntax == <syntaxhighlight lang="C#"> public delegate void MacroCallback( M...")
 
Line 18: Line 18:
 
== Remarks ==
 
== Remarks ==
 
The MacroCallback delegate is used alongside [[Dice/RollerConfig/ExecuteMacro|RollerConfig.ExecuteMacro]]. The delegate can gain insight into the context of the macro call by examining the passed-in ''context'' object, and it must also modify the ''context'' object's Value. If no delegate in the chain modifies the context's Value or Values, a [[Dice/DiceException|DiceException]] is thrown with DiceErrorCode.InvalidMacro.
 
The MacroCallback delegate is used alongside [[Dice/RollerConfig/ExecuteMacro|RollerConfig.ExecuteMacro]]. The delegate can gain insight into the context of the macro call by examining the passed-in ''context'' object, and it must also modify the ''context'' object's Value. If no delegate in the chain modifies the context's Value or Values, a [[Dice/DiceException|DiceException]] is thrown with DiceErrorCode.InvalidMacro.
 +
 +
If the macro does not roll dice, its Value should be added to the Values list as a Literal die type.

Revision as of 20:35, 12 April 2017

Encapsulates a method which executes macro logic.

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

Syntax

public delegate void MacroCallback(
    MacroContext context
)

Parameters

context
Type: Dice.MacroContext
Macro context, to be filled in by the delegate.

Remarks

The MacroCallback delegate is used alongside RollerConfig.ExecuteMacro. The delegate can gain insight into the context of the macro call by examining the passed-in context object, and it must also modify the context object's Value. If no delegate in the chain modifies the context's Value or Values, a DiceException is thrown with DiceErrorCode.InvalidMacro.

If the macro does not roll dice, its Value should be added to the Values list as a Literal die type.