public void AddSubLoopFlow(LoopFlow loopFlow) { if (loopFlow.activated) { loopFlow.Terminate(); } _subLoopFlows.Add(loopFlow); loopFlow._owner = this; loopFlow.OnActivate(); Debug.Log(string.Concat(this, "\n> ", loopFlow)); }
public virtual void SwitchLoopFlow(LoopFlow newLoopFlow) { if (newLoopFlow == null || _currentLoopFlow == newLoopFlow) { return; } if (_currentLoopFlow != null) { _currentLoopFlow.Terminate(); } _currentLoopFlow = newLoopFlow; AddSubLoopFlow(_currentLoopFlow); _transiting = false; }