internal void LeaveState() { IsCurrentState = false; if (OnStateLeave != null) { OnStateLeave.Invoke(); } if (HasInnerState) { foreach (Orthogonal <S, T, G> ort in Orthogonals.Values) { ort.SM.Terminate(); } } }
public override void resetProperty() { base.resetProperty(); mOnLeave = null; mPlayer = null; mData = null; mParam = null; mStateMaxTime = -1.0f; mStateTime = -1.0f; mActive = true; mMutexID = 0; mID = 0; mBuffStateType = 0; // 此处不能重置互斥类型,此字段一般在子类的构造中进行指定,一旦指定就不会改变,也就不会被重置 // 如果重置,则在复用后互斥类型就会错误 //mMutexType = STATE_MUTEX.COEXIST; mIgnoreTimeScale = false; }
public void setLeaveCallback(OnStateLeave callback) { mLeaveCallback = callback; }