public override LuaValue Execute(LuaTable enviroment, out bool isBreak) { LuaValue condition = Condition.Evaluate(enviroment); if (condition.GetBooleanValue() == true) { return(ThenBlock.Execute(enviroment, out isBreak)); } else { foreach (ElseifBlock elseifBlock in ElseifBlocks) { condition = elseifBlock.Condition.Evaluate(enviroment); if (condition.GetBooleanValue() == true) { return(elseifBlock.ThenBlock.Execute(enviroment, out isBreak)); } } if (ElseBlock != null) { return(ElseBlock.Execute(enviroment, out isBreak)); } } isBreak = false; return(null); }
internal void Execute(Context context) { if ((dynamic)ConditionCallback(context)) { IfBlock.Execute(); } else { ElseBlock.Execute(); } }