NextRound.cs 905 B

123456789101112131415161718192021222324252627282930313233
  1. using System.Linq;
  2. using IwbZero.Expr;
  3. using IwbZero.ToolCommon.StringModel;
  4. using WeEngine.Enum;
  5. using WeEngine.Packages;
  6. namespace WeEngine.Functions
  7. {
  8. /// <summary>
  9. /// 下一轮次
  10. /// </summary>
  11. public class NextRound : RunTimeBase, IFunction
  12. {
  13. public string Invoke(ExprObject exprObj)
  14. {
  15. var child = exprObj.GetChild(0);
  16. GetPackage(child.Expr);
  17. var child2 = exprObj.GetChild(2);
  18. var roundIndex = child2?.Expr.ValI();
  19. if (roundIndex != null)
  20. {
  21. roundIndex++;
  22. var nextRound= Rp.Children.Select(a => (SceneRound) a).FirstOrDefault(a => a.RoundIndex == roundIndex);
  23. if (nextRound != null)
  24. {
  25. nextRound.NodeState = NodeState.Running;
  26. }
  27. }
  28. return "TRUE";
  29. }
  30. }
  31. }