示例#1
0
 private void Awake()
 {
     if (instance == null)
     {
         instance = this;
         DontDestroyOnLoad(gameObject);
     }
     else
     {
         Destroy(gameObject);
     }
 }
示例#2
0
        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;
            }
        }