Exemplo n.º 1
0
        protected override EBTStatus update(Agent pAgent, EBTStatus childStatus)
        {
            EBTStatus eBTStatus = base.update(pAgent, childStatus);

            if (!this.m_bDecorateWhenChildEnds || eBTStatus != EBTStatus.BT_RUNNING)
            {
                EBTStatus result = this.decorate(eBTStatus);
                if (eBTStatus != EBTStatus.BT_RUNNING)
                {
                    BehaviorTask root = this.m_root;
                    if (root != null)
                    {
                        root.SetStatus(EBTStatus.BT_INVALID);
                    }
                    this.SetCurrentTask(null);
                }
                return(result);
            }
            return(EBTStatus.BT_RUNNING);
        }
Exemplo n.º 2
0
        protected override EBTStatus update(Agent pAgent, EBTStatus childStatus)
        {
            EBTStatus status = base.update(pAgent, childStatus);

            if (this.m_bDecorateWhenChildEnds && (status == EBTStatus.BT_RUNNING))
            {
                return(EBTStatus.BT_RUNNING);
            }
            EBTStatus status2 = this.decorate(status);

            if (status != EBTStatus.BT_RUNNING)
            {
                BehaviorTask root = base.m_root;
                if (root != null)
                {
                    root.SetStatus(EBTStatus.BT_INVALID);
                }
                this.SetCurrentTask(null);
            }
            return(status2);
        }