private void Awake() { if (instance == null) { instance = this; DontDestroyOnLoad(gameObject); } else { Destroy(gameObject); } }
private void MakeTransition(TransitionEffects transitionEffects, Graphics g) { switch (transitionEffects) { case TransitionEffects.None: _offScreen.Surface.DrawCanvas(g, 0, 0); break; case TransitionEffects.FromBottom: { int h = Screen.PrimaryScreen.Bounds.Height; for (int k = h; k > 0; k = k - 10) { _offScreen.Surface.DrawCanvas(g, 0, k); SynchSleep.Go(_transitionMSec); } _offScreen.Surface.DrawCanvas(g, 0, 0); } break; case TransitionEffects.FromTop: { int h = Screen.PrimaryScreen.Bounds.Height; for (int k = -h; k < 0; k = k + 10) { _offScreen.Surface.DrawCanvas(g, 0, k); SynchSleep.Go(_transitionMSec); } _offScreen.Surface.DrawCanvas(g, 0, 0); } break; case TransitionEffects.FromLeft: { int w = Screen.PrimaryScreen.Bounds.Width; for (int k = -w; k < 0; k = k + 10) { _offScreen.Surface.DrawCanvas(g, k, 0); SynchSleep.Go(_transitionMSec); } _offScreen.Surface.DrawCanvas(g, 0, 0); } break; case TransitionEffects.FromRight: { int w = Screen.PrimaryScreen.Bounds.Width; for (int k = w; k > 0; k = k - 10) { _offScreen.Surface.DrawCanvas(g, k, 0); SynchSleep.Go(_transitionMSec); } _offScreen.Surface.DrawCanvas(g, 0, 0); } break; default: _offScreen.Surface.DrawCanvas(g, 0, 0); break; } }