//--------------------------------------------------------------------- void _releaseFsm() { mbDestroy = true; while (mQueCurrentState.Count > 0) { EbState s = mQueCurrentState[mQueCurrentState.Count - 1]; s.exit(); mQueCurrentState.RemoveAt(mQueCurrentState.Count - 1); } }
//--------------------------------------------------------------------- void _exitChildState(EbState cur_state) { if (mQueCurrentState.Count == 0) { return; } EbState s = mQueCurrentState[mQueCurrentState.Count - 1]; if (s != cur_state) { s.exit(); mQueCurrentState.Remove(s); _exitChildState(cur_state); } }