/// <summary> /// Perform cancel action /// </summary> protected override void PerformCancel() { if (this.childActions != null) { for (int i = 0; i < this.childActions.Length; i++) { IGameAction action = this.childActions[i]; if (action.State == TaskState.Running || action.State == TaskState.Waiting) { action.Cancel(); } } } base.PerformCancel(); }