public FArpgNode Play(float time, List <string> state, out bool isChange) { isChange = false; this.curTimes += time; this.totalTimes += time; PlayStateCallBack(time, 1); for (int i = 0; i < mNextData.Count; i++) { FArpgNode fad = mNextData[i]; if (fad.mFArgpBaseData.conditionState == "" || state.Contains(fad.mFArgpBaseData.conditionState)) { if (ConditonCall(fad)) { Reset(); fad.Reset(); fad.PlayStateCallBack(0, -1); fad = fad.GetRealArpg(); fad.Reset(); fad.PlayStateCallBack(0, 0); if (mMian.mMainCallBack != null) { mMian.mMainCallBack(fad); } isChange = true; return(fad); } } } return(this); }
public bool SetArgpState(string key, float time = 0.3f, string lay = "none") { if (mCurFArpgData.mFArgpBaseData != null) { if (mCurFArpgData.mFArgpBaseData.conditionState == key) { mCurFArpgData.Reset(false); } bool isChange = false; isChange = PlayUpdate(0); mStateTimeEvent.AddState(lay, time, key); return(isChange); } return(false); }