コード例 #1
0
 private void SwitchToMenu(DynamicMenuScene newMenu)
 {
     World.cam_Main.Transform.Position = newMenu.Hotspot.PositionGlobal;
     if (newMenu == _currentMenuScreen)
         return;
     if (_currentMenuScreen != null)
         _currentMenuScreen.Transition(SceneState.Inactive, null);
     _currentMenuScreen = newMenu;
     _currentMenuScreen.Transition(SceneState.Active, null);
     //Globals.Ninja.MoveNinja(_currentMenuScreen);
 }
コード例 #2
0
 private void SwitchToMenu(DynamicMenuScene newMenu)
 {
     World.cam_Main.Transform.Position = newMenu.Hotspot.PositionGlobal;
     if (newMenu == _currentMenuScreen)
     {
         return;
     }
     if (_currentMenuScreen != null)
     {
         _currentMenuScreen.Transition(SceneState.Inactive, null);
     }
     _currentMenuScreen = newMenu;
     _currentMenuScreen.Transition(SceneState.Active, null);
     //Globals.Ninja.MoveNinja(_currentMenuScreen);
 }
コード例 #3
0
 public static void SlideMenuView(DynamicMenuScene sender, DynamicMenuScene[] targets, Scene.SceneState finalSenderState, Scene.SceneState finalTargetState)
 {
     DynamicMenuScene target = null;
     if (TouchInput.IsScreenTouched)
     {
         World.cam_Main.Transform.Position += TouchInput.TouchDifference * -1.2f;
     }
     else if (TouchInput.ScreenIsNoLongerTouched)
     {
         target = GetClosestMenu(targets);
         if (target == sender)
         {
             target.Transition(target.State, null);
             return;
         }
         if (sender != null)
             sender.Transition(finalSenderState, target);
         target.Transition(finalTargetState, sender);
     }
 }
コード例 #4
0
        public static void SlideMenuView(DynamicMenuScene sender, DynamicMenuScene[] targets, Scene.SceneState finalSenderState, Scene.SceneState finalTargetState)
        {
            DynamicMenuScene target = null;

            if (TouchInput.IsScreenTouched)
            {
                World.cam_Main.Transform.Position += TouchInput.TouchDifference * -1.2f;
            }
            else if (TouchInput.ScreenIsNoLongerTouched)
            {
                target = GetClosestMenu(targets);
                if (target == sender)
                {
                    target.Transition(target.State, null);
                    return;
                }
                if (sender != null)
                {
                    sender.Transition(finalSenderState, target);
                }
                target.Transition(finalTargetState, sender);
            }
        }
コード例 #5
0
 private static DynamicMenuScene GetClosestMenu(DynamicMenuScene[] menus)
 {
     float minDistance = 9999;
     int minIndex = 0;
     float distance = 0;
     for (int i = 0; i < menus.Length; ++i)
     {
         distance = Vector2.Distance(World.cam_Main.Transform.PositionGlobal, menus[i].Hotspot.PositionGlobal);
         if (distance < minDistance)
         {
             minDistance = distance;
             minIndex = i;
         }
     }
     return menus[minIndex];
 }