void OnScreenTransEndLoadScene(ScreenTrans trans, ScreenTransManager.Action act) { if (act == ScreenTransManager.Action.End) { DoLoad(); } }
void OnScreenTransBeginLoadScene(ScreenTrans trans, ScreenTransManager.Action act) { if (act == ScreenTransManager.Action.Begin) { DoLoad(); } }
void LateUpdate() { if (mCurrentTrans.isDone) { mCurrentTrans = null; enabled = false; } }
public void AddRender(ScreenTrans trans) { if (!mRenderTransList.Contains(trans)) { mRenderTransList.Add(trans); } enabled = true; }
public void RemoveRender(ScreenTrans trans) { mRenderTransList.Remove(trans); if (mRenderTransList.Count == 0) { enabled = false; } }
void OnRenderImage(RenderTexture source, RenderTexture destination) { if (mPrevTrans) { mPrevTrans.OnRenderImage(source, destination); mPrevTrans = null; } if (mCurrentTrans) { mCurrentTrans.Run(Time.smoothDeltaTime); mCurrentTrans.OnRenderImage(source, destination); } }
public void Play(ScreenTrans trans, Callback callback) { if (trans) { mProgress.Enqueue(new ProgressData() { transition = trans, call = callback }); if (mProgressRoutine == null) { StartCoroutine(mProgressRoutine = DoProgress()); } } }
public void Play(ScreenTrans trans) { mPrevTrans = mCurrentTrans; mCurrentTrans = trans; if (mCurrentTrans) { mCurrentTrans.Prepare(); enabled = true; } else { enabled = false; } }
IEnumerator DoProgress() { WaitForEndOfFrame wait = new WaitForEndOfFrame(); while (mProgress.Count > 0) { ProgressData curProg = mProgress.Dequeue(); mCurTrans = curProg.transition; mCurTrans.Prepare(); if (curProg.call != null) { curProg.call(mCurTrans, Action.Begin); } while (!mCurTrans.isDone) { //Debug.Log("playing: "+trans); RestorePlayer(); yield return(wait); } mPrevTrans = mCurTrans; if (curProg.call != null) { curProg.call(mCurTrans, Action.End); } mCurTrans = null; mCurPlayer = null; } mProgressRoutine = null; }
public void Stop() { mPrevTrans = mCurrentTrans = null; enabled = false; }