FunSetVariable.cs 812 B

12345678910111213141516171819202122232425
  1. using IwbZero.Expr;
  2. using IwbZero.IwbBase;
  3. namespace WeEngine.Functions
  4. {
  5. /// <summary>
  6. /// 节点变量赋值
  7. /// </summary>
  8. public class FunSetVariable : RunTimeBase, IFunction
  9. {
  10. public string Invoke(ExprObject exprObj)
  11. {
  12. ExprObject child = exprObj.GetChild(0), child2 = exprObj.GetChild(2), child3 = exprObj.GetChild(4), child4 = exprObj.GetChild(6), child5 = exprObj.GetChild(8);
  13. GetPackage(child.Expr);
  14. if ( (child3==null || child4==null))
  15. {
  16. return "FALSE";
  17. }
  18. var node = child5 == null ? Rp.GetNodeByPath(child2.Expr) : Rp.GetNodeByPath(child5.Expr);
  19. node.SetVariable($"{IwbVariableType.Local}{child3.Expr}",child4.Expr);
  20. return "TRUE";
  21. }
  22. }
  23. }