Пример #1
0
 public void Append(ProcessNode node)
 {
     if (null == mSequenceNode)
     {
         mSequenceNode = new SequenceNode();
     }
     mSequenceNode.Append(node);
 }
        public void Execute()
        {
            if (Acitons != null && Acitons.Count != 0)
            {
                var sequenceNode = new SequenceNode();

                foreach (var actionKitVisualAction in Acitons)
                {
                    sequenceNode.Append(actionKitVisualAction);
                }

                this.ExecuteNode(sequenceNode);
            }
        }
Пример #3
0
        private void Start()
        {
            this.Sequence()
            .Delay(1.0f)
            .Event(() => Log.I("Sequence1 延时了 1s"))
            .Begin()
            .OnDisposed(() => { Log.I("Sequence1 destroyed"); });

            var sequenceNode2 = new SequenceNode(DelayAction.Allocate(1.5f));

            sequenceNode2.Append(EventAction.Allocate(() => Log.I("Sequence2 延时 1.5s")));
            sequenceNode2.Append(DelayAction.Allocate(0.5f));
            sequenceNode2.Append(EventAction.Allocate(() => Log.I("Sequence2 延时 2.0s")));

            this.ExecuteNode(sequenceNode2);

            /* 这种方式需要自己手动进行销毁
             * sequenceNode2.Dispose();
             * sequenceNode2 = null;
             */

            // 或者 OnDestroy 触发时进行销毁
            sequenceNode2.AddTo(this);
        }
Пример #4
0
 public override IActionChain Append(IAction node)
 {
     mSequenceNode.Append(node);
     return(this);
 }