示例#1
0
 public static Script AssignStmt(string varName, DiceDeclaration exp, AssignementType type = AssignementType.Number)
 {
     return(new Script
     {
         Statements = new List <Statement>
         {
             new AssignementStatement {
                 Type = type,
                 VariableName = varName,
                 Expression = new DiceExpression {
                     Dices = exp
                 }
             }
         }
     });
 }
示例#2
0
        private static DiceExpression ComputeDiceExpression(
            Maybe <string> name,
            DiceDeclaration diceExpr,
            Maybe <SumBonusDeclaration> sumBonus,
            Maybe <OptionGroup> optionGroupExpr)
        {
            var result = new DiceExpression
            {
                Dices   = diceExpr,
                Options = optionGroupExpr.GetValueOrDefault(),
                Name    = name.GetValueOrDefault()
            };

            if (sumBonus.HasValue)
            {
                result.SumBonus = sumBonus.Value;
            }

            return(result);
        }
示例#3
0
 public static Script ToAst(DiceDeclaration exp)
 {
     return(ToAst(new DiceExpression {
         Dices = exp
     }));
 }