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); }
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); }