Example #1
0
        private static void Postfix()
        {
            // click on level name in match settings -> jump to level select screen
            if (MenuManager.m_menu_sub_state == MenuSubState.ACTIVE &&
                MenuManager.m_menu_micro_state == 2 &&
                UIManager.m_menu_selection == 2 &&
                Controls.JustPressed(CCInput.MENU_SELECT) &&
                !UIManager.m_pushed_dir && !MenuManager.reversed_option)
            {
                float   num = 500f * 1.5f;
                Vector2 pos = UIManager.SCREEN_CENTER;
                pos.y -= 217f;
                pos.y += 62f + 62f;
                pos.x += num * 0.5f - 123f;
                var size = new Vector2(24f, 24f);
                Debug.Log("mouse " + UIManager.m_mouse_pos + " pos " + pos + " size " + size);
                if (new Rect(pos + Vector2.right * 130f - size, size * 2).Contains(UIManager.m_mouse_pos)) // right button clicked?
                {
                    return;
                }

                // workaround to undo that we have already selected the next level
                MenuManager.mms_level_num = MenuManager.mms_level_num == 0 ? GameManager.MultiplayerMission.NumLevels - 1 : MenuManager.mms_level_num - 1;

                MenuManager.SetDefaultSelection(0);
                MPLevelSelect.InitList();
                MenuManager.m_menu_micro_state = 8;
                MenuManager.UIPulse(2f);
                MenuManager.PlaySelectSound(1f);
            }
        }
Example #2
0
        private static bool Prefix()
        {
            if (MenuManager.m_menu_micro_state != 8 || MenuManager.m_menu_sub_state != MenuSubState.ACTIVE)
            {
                return(true);
            }
            UIManager.MouseSelectUpdate();

            UIManager.ControllerMenu();
            if (UIManager.m_menu_selection >= 1000)
            {
                int idx = MPLevelSelect.LevelIndex[UIManager.m_menu_selection - 1000];
                if (idx >= 0)
                {
                    UIManager.SetLevelTexture(GameManager.MultiplayerMission, idx);
                }
                else
                {
                    UIManager.SetTexture((Texture)Resources.Load("Textures/default"));
                }
            }
            //bool flag = MenuManager.CheckPaging(ref MenuManager.m_list_items_first, ref MenuManager.m_list_items_last, MenuManager.m_selected_mission.NumLevels, 6);
            var args = new object[] { MenuManager.m_list_items_first, MenuManager.m_list_items_last,
                                      MenuManager.m_list_items_total_count, MenuManager.m_list_items_max_per_page };
            bool flag = (bool)_MenuManager_CheckPaging_Method.Invoke(null, args);

            MenuManager.m_list_items_first = (int)args[0];
            MenuManager.m_list_items_last  = (int)args[1];
            if (!flag)
            {
                if (UIManager.PushedSelect(100) || (MenuManager.option_dir && UIManager.PushedDir()))
                {
                    MenuManager.MaybeReverseOption();
                    if (UIManager.m_menu_selection == 100) // back
                    {
                        MenuManager.m_menu_micro_state = 2;
                        MenuManager.UIPulse(2f);
                        MenuManager.PlaySelectSound(1f);
                    }
                    else if (UIManager.m_menu_selection == 4)
                    {
                        MenuManager.PlayCycleSound(1f, 1f);
                        MPLevelSelect.OTL = !MPLevelSelect.OTL;
                        MPLevelSelect.InitList();
                    }
                    else if (UIManager.m_menu_selection >= 1000) // level
                    {
                        MenuManager.mms_level_num = MPLevelSelect.LevelIndex[UIManager.m_menu_selection - 1000];
                        UIManager.SetLevelTexture(GameManager.MultiplayerMission, MenuManager.mms_level_num);
                        MenuManager.m_menu_micro_state = 2;
                        MenuManager.UIPulse(2f);
                        MenuManager.PlaySelectSound(1f);
                    }
                }
            }

            /*
             *      break;
             *  }
             * case MenuSubState.BACK:
             *  if (true) //MenuManager.m_menu_state_timer > 0.25f)
             *  {
             *      //MenuManager.ChangeMenuState(MenuState.MAIN_MENU, false);
             *      MenuManager.m_menu_micro_state = 3;
             *      MenuManager.UIPulse(2f);
             *      MenuManager.PlaySelectSound(1f);
             *  }
             *  break;
             * /*
             * default:
             *  if (menu_sub_state == MenuSubState.FADE_IN)
             *  {
             *      if (true) // MenuManager.m_menu_state_timer > 0.25f)
             *      {
             *          UIManager.CreateUIElement(UIManager.SCREEN_CENTER, 7000, UIElementType.CHALLENGE_SELECT_MENU);
             *          MenuManager.m_menu_sub_state = MenuSubState.ACTIVE;
             *          MenuManager.SetDefaultSelection(1000);
             *
             *          MPLevelSelect.InitList();
             *          //NetworkManager.StartServerWithLocalConnection(); // ???
             *      }
             *  }
             *  break;
             */
            return(false);
        }