Inheritance: MonoBehaviour
コード例 #1
0
 private TreeNode AddMenuItemFromMenu(ToolStripMenuItem pMenuItem, out MenuObject menuObject)
 {
     TreeNode lastChildNode = new TreeNode(pMenuItem.Text);
     menuObject = GetMenuObject(pMenuItem.Name);
     lastChildNode.Tag = menuObject;
     return lastChildNode;
 }
コード例 #2
0
ファイル: TitleMenu.cs プロジェクト: acm-team/SpaceCats
 public override void Select(MenuObject select)
 {
     if (select == null)
         return;
     base.Select(select);
     Vector2 newPos = new Vector2(select.Position.X - select.Width / 2 - z_selector.Width / 2 - 15, select.Position.Y);
     if (z_selector.Position != newPos)
         z_selector.MoveTo(newPos, 600.0f / 1000);
 }
コード例 #3
0
ファイル: FrmRoles.cs プロジェクト: TalasZh/opencbs
 private TreeNode AddMenuItemFromMenu(ToolStripMenuItem pMenuItem, out MenuObject menuObject)
 {
     TreeNode lastChildNode = new TreeNode(pMenuItem.Text);
     object menuTag = pMenuItem.Tag;
     menuObject = GetMenuObject(
         menuTag is IExtension ? (menuTag as IExtension).Guid.ToString() : pMenuItem.Name
         );
     lastChildNode.Tag = menuObject;
     return lastChildNode;
 }
コード例 #4
0
        /// <inheritdoc />
        public override void OnUpdate(float delta)
        {
            MenuObject command = null;

            if (GetKey(Key.Up).Pressed)
            {
                menu.OnUp();
            }
            if (GetKey(Key.Down).Pressed)
            {
                menu.OnDown();
            }
            if (GetKey(Key.Left).Pressed)
            {
                menu.OnLeft();
            }
            if (GetKey(Key.Right).Pressed)
            {
                menu.OnRight();
            }

            if (GetKey(Key.Z).Pressed)
            {
                menu.OnBack();
            }
            if (GetKey(Key.X).Pressed)
            {
                command = menu.OnConfirm();
            }
            if (GetKey(Key.C).Pressed)
            {
                if (menu.IsOpen)
                {
                    menu.Close();
                }
                else
                {
                    menu.Open(root);
                }
            }

            if (command != null)
            {
                lastAction = $"Selected: {command.Name} ID: {command.Id}";
                menu.Close();
            }


            Clear(Pixel.Presets.Black);
            menu.Draw(this, MenuManager.DefaultSprite, new Vector2Int(30, 30));
            DrawText(new Vector2Int(10, 200), lastAction, Pixel.Presets.White);
        }
コード例 #5
0
 protected void AddControl(MenuObject control)
 {
     if (control is MenuData.Inputs.SelectableObject)
     {
         _selectableObjects.Add((MenuData.Inputs.SelectableObject)control);
     }
     if (!control.Ready)
     {
         control.Init();
         control.LoadContent();
     }
     _controls.Add(control);
 }
コード例 #6
0
ファイル: MenuObject.cs プロジェクト: cerufra/msc_mix_int
    void Awake()
    {
        if (instance == null)
        {
            instance = this;
        }
        else if (instance != this)
        {
            Destroy(gameObject);
        }

        HideMenu();
    }
コード例 #7
0
            protected MenuObject[] Parse(ConfigNode[] nodes, MenuObject[] array)
            {
                for (int i = 0; i < nodes?.Length; i++)
                {
                    if (array == null)
                    {
                        array = new MenuObject[nodes.Length];
                    }

                    array[i] = Parse(nodes[i], array[i]);
                }

                return(array);
            }
コード例 #8
0
        public override void Update(GameTime gameTime)
        {
            keyboardState = Keyboard.GetState();
            gamePadState  = GamePad.GetState(PlayerIndex.One);

            if ((keyboardState.IsKeyDown(Keys.Enter) && !oldKeyboardState.IsKeyDown(Keys.Enter)) ||
                (gamePadState.IsButtonDown(Buttons.A) && !oldGamePadState.IsButtonDown(Buttons.A)))
            {
                selectCurrentItem();
            }


            if ((keyboardState.IsKeyDown(Keys.Down) && !oldKeyboardState.IsKeyDown(Keys.Down)) ||
                (gamePadState.IsButtonDown(Buttons.LeftThumbstickDown) && !oldGamePadState.IsButtonDown(Buttons.LeftThumbstickDown)))
            {
                selectedEntry.Scale = 1;
                if (selectedEntry is MenuEntry)
                {
                    selectedEntry.Color = Color.OrangeRed;
                }
                else
                {
                    selectedEntry.Color = Color.DimGray;
                }
                selectedEntry.DeselectThis();
                selectedEntry = selectedEntry.Next;
                selectedEntry.SelectThis();
            }
            if ((keyboardState.IsKeyDown(Keys.Up) && !oldKeyboardState.IsKeyDown(Keys.Up)) ||
                (gamePadState.IsButtonDown(Buttons.LeftThumbstickUp) && !oldGamePadState.IsButtonDown(Buttons.LeftThumbstickUp)))
            {
                selectedEntry.Scale = 1;
                if (selectedEntry is MenuEntry)
                {
                    selectedEntry.Color = Color.OrangeRed;
                }
                else
                {
                    selectedEntry.Color = Color.DimGray;
                }
                selectedEntry.DeselectThis();
                selectedEntry = selectedEntry.Previous;
                selectedEntry.SelectThis();
            }
            selectedEntry.Scale = 1.2f;
            selectedEntry.Color = Color.White;

            oldKeyboardState = keyboardState;
            oldGamePadState  = gamePadState;
        }
コード例 #9
0
            internal CustomOrbitScene(OrbitSceneInfo info)
            {
                Debug.Log("CustomOrbitScene", "Custom Orbit Scene name = " + info.name);

                // Bodies
                planet = Parse(info.planet, planet);
                moons  = Parse(info.moons, moons);

                // Scatter
                scatter = Parse(info.scatter, scatter);

                // Kerbals
                kerbals = Parse(info.kerbals, kerbals);
            }
コード例 #10
0
        private void _InitializeUserRights()
        {
            foreach (ToolStripMenuItem mi in MainMenuStrip.Items)
            {
                Role       role    = User.CurrentUser.UserRole;
                MenuObject foundMo = GetMenuObject(mi.Name);

                if (foundMo != null)
                {
                    mi.Enabled = role.IsMenuAllowed(foundMo);
                    mi.Tag     = foundMo;
                    InitializeMenuChildren(mi, role);
                }
            }
        }
コード例 #11
0
ファイル: RoleManager.cs プロジェクト: Ramazanov/FomsNet
        public MenuObject AddNewMenu(string pName)
        {
            MenuObject newMenu = new MenuObject();

            const string sqlText = @"INSERT INTO [MenuItems]([menu_name])
                                        VALUES (@menu) SELECT SCOPE_IDENTITY()";

            SqlCommand sqlCommand = new SqlCommand(sqlText, DefaultConnection);

            DatabaseHelper.InsertStringNVarCharParam("@menu", sqlCommand, pName.Trim());
            newMenu.Id = int.Parse(sqlCommand.ExecuteScalar().ToString());
            newMenu.NotSavedInDBYet = false;
            newMenu.Name = pName;

            return newMenu;
        }
コード例 #12
0
        /// <summary>
        ///
        /// </summary>
        protected override void ProcessRecord()
        {
            WriteVerbose($"Creating menu [{Name}]");
            MenuObject newMenu = new MenuObject
            {
                Name        = this.Name,
                DisplayName = this.DisplayName,
                Description = this.Description,
                //IsMainMenu = $IsMainMenu
                MenuItems = new List <MenuItemObject>()
            };

            WriteObject(newMenu);

            base.ProcessRecord();
        }
コード例 #13
0
            void EditPlanet(MenuObject info, GameObject scene)
            {
                // If info is null generate a default one
                info = info ?? new MenuObject("Kerbin");

                // Find the Planet GameObject
                GameObject planet = scene.GetChild("Kerbin");

                if (!info.enabled)
                {
                    planet.GetComponent <Renderer>().enabled = false;
                    Debug.Log("EditPlanet", "Disabled Kerbin Renderer");
                    return;
                }

                Debug.Log("EditPlanet", "Kerbin position = " + (Vector3d)planet.transform.position);
                Debug.Log("EditPlanet", "Kerbin rotation = " + (Vector3d)planet.transform.eulerAngles);
                Debug.Log("EditPlanet", "Kerbin scale = " + (Vector3d)planet.transform.localScale);
                Debug.Log("EditPlanet", "Kerbin rotatoSpeed = " + planet?.GetComponent <Rotato>()?.speed);

                // Edit Visual Parameters
                Renderer renderer = planet.GetComponent <Renderer>();

                CelestialBody cb       = FlightGlobals.Bodies?.FirstOrDefault(b => b.transform.name == info.name);
                GameObject    template = cb?.scaledBody;

                if (template != null)
                {
                    // OnDemand
                    if (KopernicusFixer.detect)
                    {
                        OnDemandFixer.LoadTextures(template);
                    }

                    // Material
                    renderer.material = template?.GetComponent <Renderer>()?.material ?? renderer.material;
                    renderer.material.SetTexture(info.texture1);
                    renderer.material.SetNormal(info.normal1);
                    renderer.material.SetColor(info.color1);

                    // Mesh
                    MeshFilter meshFilter = planet.GetComponent <MeshFilter>();
                    meshFilter.mesh = template?.GetComponent <MeshFilter>()?.mesh ?? meshFilter.mesh;
                }

                info.ApplyTo(planet, 1.4987610578537f);
            }
コード例 #14
0
        void EventNameSave(MenuObject obj)
        {
            MenuTextEntry tE = (MenuTextEntry)obj;

            name = tE.text;
            MenuText t = (MenuText)menu.objects [menu.objects.Count - 1];

            t.text              = name;
            t.colourSelected    = Color.Green;
            t.colourNotSelected = Color.Green;
            t.RenderText();
            menu.GenerateWidth();
            GenerateMenuBackground();
            menu.lastSelectChange = -0.2f;
            nameMenu = null;
            map.ToXML(name, vecPlayer, enemies);
        }
コード例 #15
0
 public DyeableRect(Menu.Menu menu, MenuObject owner, Vector2 pos, Vector2 size, bool filled = true) : base(menu, owner, pos, size, filled)
 {
     this.color  = Menu.Menu.MenuRGB(Menu.Menu.MenuColors.MediumGrey);
     this.filled = filled;
     this.tab    = false;
     if (filled)
     {
         tabInvisible = new List <FSprite>
         {
             this.sprites[2],
             this.sprites[6],
             this.sprites[7],
             this.sprites[11],
             this.sprites[15],
             this.sprites[16]
         };
     }
 }
コード例 #16
0
    private IEnumerator ShowMenu()
    {
        MenuObject menu = _activeMenu;

        menu.Menu.gameObject.SetActive(true);
        menu.Menu.FadeIn();
        if (GameManager.Instance.UsingGamepadControls())
        {
            menu.FirstSelected.Select();
            menu.FirstSelected.OnSelect(null);
        }
        yield return(new WaitUntil(() => menu.Menu != _activeMenu.Menu));

        menu.Menu.FadeOut();
        yield return(new WaitUntil(() => !menu.Menu.IsFading));

        menu.Menu.gameObject.SetActive(false);
        _activeState = null;
    }
コード例 #17
0
 // Start is called before the first frame update
 void Start()
 {
     if (instance == null)
     {
         instance = this;
         SceneManager.sceneLoaded += DisableForcedPause;
         //quitButton.onClick.AddListener(() => { Quit(); });
         //muteButton.onClick.AddListener(() => { AudioManager.Instance.SetMuted(AudioManager.Instance.GetIsMuted()); });
         //startButton.onClick.AddListener(() => { StartLevel(); });
         currentSelectedMenu = menus.Where(menu => menu.menu.activeSelf == true).FirstOrDefault();
         //SetMenuPausedState(true);
         DontDestroyOnLoad(this);
         //SetScoreText();
     }
     else if (instance != null && instance != this)
     {
         Destroy(gameObject);
     }
 }
コード例 #18
0
        public MenuObject AddNewMenu(string name)
        {
            MenuObject newMenu = new MenuObject();

            const string q = @"INSERT INTO [MenuItems]([component_name])
                               VALUES (@menu)
                               SELECT SCOPE_IDENTITY()";

            using (SqlConnection conn = GetConnection())
            {
                using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
                {
                    c.AddParam("@menu", name.Trim());
                    newMenu.Id = int.Parse(c.ExecuteScalar().ToString());
                    newMenu.NotSavedInDBYet = false;
                    newMenu.Name = name;
                }
            }
            return newMenu;
        }
コード例 #19
0
 public override void Singal(MenuObject sender, string message)
 {
     if (message == "EXIT")
     {
         manager.RequestMainProcessSwitch(ProcessManager.ProcessID.MainMenu);
         MonklandSteamManager.instance.OnGameExit();
         Steamworks.SteamMatchmaking.LeaveLobby(SteamManagement.MonklandSteamManager.lobbyID);
     }
     else if (message == "READYUP")
     {
         MonklandSteamManager.GameManager.ToggleReady();
     }
     else if (message == "STARTGAME")
     {
         if (NetworkGameManager.isManager)
         {
             MonklandSteamManager.GameManager.SendPlayersToGame();
         }
     }
 }
コード例 #20
0
        public MenuObject AddNewMenu(string name)
        {
            MenuObject newMenu = new MenuObject();

            const string q = @"INSERT INTO [MenuItems]([component_name]) 
                               VALUES (@menu) 
                               SELECT SCOPE_IDENTITY()";

            using (SqlConnection conn = GetConnection())
            {
                using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
                {
                    c.AddParam("@menu", name.Trim());
                    newMenu.Id = int.Parse(c.ExecuteScalar().ToString());
                    newMenu.NotSavedInDBYet = false;
                    newMenu.Name            = name;
                }
            }
            return(newMenu);
        }
コード例 #21
0
ファイル: rayCast.cs プロジェクト: qimmer/mta13341
    void Update()
    {
        Vector3 forward = transform.TransformDirection(Vector3.forward);
        RaycastHit myhit = new RaycastHit();

        //Draws the ray in the editor
        Debug.DrawRay(transform.position, forward * 5, Color.green);

        if (Physics.Raycast(transform.position, forward, out myhit, 10))
        {
            if (myhit.collider.name == "CityWest" || myhit.collider.name == "CityEast")
            {
                mo = myhit.collider.gameObject.GetComponent<MenuObject>();
                mo.rayHit(true);
            }
        }
        else if (!(mo == null))
        {
            mo.rayHit(false);
        }
    }
コード例 #22
0
 public override void Singal(MenuObject sender, string message)
 {
     if (message == "EXIT")
     {
         //if (manager.musicPlayer != null) {
         //    manager.musicPlayer.FadeOutAllSongs(5f);
         //    this.manager.musicPlayer.MenuRequestsSong("RW_8 - Sundown", 1.4f, 2f);
         //}
         //manager.RequestMainProcessSwitch( ProcessManager.ProcessID.MainMenu );
         MonklandSteamManager.instance.OnGameExit();
         Steamworks.SteamMatchmaking.LeaveLobby(SteamManagement.MonklandSteamManager.lobbyID);
         ((patch_ProcessManager)this.manager).ImmediateSwitchCustom(new LobbyFinderMenu(this.manager));//opens lobby finder menu menu
     }
     else if (message == "READYUP")
     {
         MonklandSteamManager.GameManager.SendColor(0);
         MonklandSteamManager.GameManager.SendColor(1);
         MonklandSteamManager.GameManager.SendColor(2);
         MonklandSteamManager.GameManager.SendColor(3);
         MonklandSteamManager.GameManager.SendColor(4);
         MonklandSteamManager.GameManager.SendColor(5);
         MonklandSteamManager.GameManager.ToggleReady();
     }
     else if (message == "STARTGAME")
     {
         if (manager.musicPlayer != null)
         {
             manager.musicPlayer.FadeOutAllSongs(5f);
         }
         if (NetworkGameManager.isManager)
         {
             settingsLabel.text = "";
             bodyLabel.text     = "";
             eyesLabel.text     = "";
             base.PlaySound(SoundID.MENU_Switch_Page_In);
             gameStarting = true;
             MonklandSteamManager.GameManager.QueueStart();
         }
     }
 }
コード例 #23
0
            void AddAtmosphere(MenuObject info, GameObject scene)
            {
                if (info?.color1 != null && info?.color2 != null)
                {
                    // Colors
                    Color from = (Color)info.color1;
                    Color to   = (Color)info.color2;
                    haze = Color.Lerp(from, to, 0.5f).A(0.65f);

                    // Atmosphere Top
                    Texture2D top = new Texture2D(1, 1);
                    top.SetPixel(1, 1, to);
                    top.Apply();

                    // Atmosphere Gradient
                    Texture2D gradient = new Texture2D(1, 256);

                    for (int y = 0; y < 256; y++)
                    {
                        gradient.SetPixel(0, y, Color.Lerp(from, to, y / 256f));
                    }

                    gradient.Apply();

                    // Create Atmosphere SkyBox
                    GameObject sky        = GameObject.Find("MainMenuGalaxy");
                    GameObject atmosphere = Instantiate(sky);

                    atmosphere.GetChild("XN").GetComponent <Renderer>().material.mainTexture = gradient;
                    atmosphere.GetChild("XP").GetComponent <Renderer>().material.mainTexture = gradient;
                    atmosphere.GetChild("YN").GetComponent <Renderer>().material.mainTexture = top;
                    atmosphere.GetChild("YP").GetComponent <Renderer>().material.mainTexture = top;
                    atmosphere.GetChild("ZP").GetComponent <Renderer>().material.mainTexture = gradient;
                    atmosphere.GetChild("ZN").GetComponent <Renderer>().material.mainTexture = gradient;

                    atmosphere.transform.position    = sky.transform.position;
                    atmosphere.transform.localScale  = sky.transform.localScale * 0.577f;
                    atmosphere.transform.eulerAngles = Vector3.zero;
                }
            }
コード例 #24
0
            void EditWreck(MenuObject info, GameObject scene)
            {
                if (info == null)
                {
                    return;
                }

                GameObject wreck = scene.GetChild("wreckedShip");

                if (Debug.debug)
                {
                    Debug.Log("EditWreck", "wreck position = " + (Vector3d)wreck.transform.position);
                    Debug.Log("EditWreck", "wreck rotation = " + (Vector3d)wreck.transform.eulerAngles);
                    Debug.Log("EditWreck", "wreck scale = " + (Vector3d)wreck.transform.localScale);

                    GameObject ground = wreck.GetChild("boulder");
                    Debug.Log("EditWreck", "ground position = " + (Vector3d)ground.transform.position);
                    Debug.Log("EditWreck", "ground rotation = " + (Vector3d)ground.transform.eulerAngles);
                    Debug.Log("EditWreck", "ground scale = " + (Vector3d)ground.transform.localScale);
                }

                // Enable
                wreck.SetActive(info.enabled);
                if (!wreck.activeSelf)
                {
                    return;
                }

                // Edit Position/Rotation/Scale
                wreck.transform.position   = info.position ?? wreck.transform.position;
                wreck.transform.rotation   = info.rotation ?? wreck.transform.rotation;
                wreck.transform.localScale = info.scale ?? wreck.transform.localScale;

                if (info.debug)
                {
                    wreck.AddComponent <LiveDebug>();
                }
            }
コード例 #25
0
        private void InitializeMenuChildren(ToolStripMenuItem pMenuItem, Role pRole)
        {
            if (!pMenuItem.HasDropDownItems)
            {
                return;
            }
            foreach (Object tsmi in pMenuItem.DropDownItems)
            {
                if (!(tsmi is ToolStripMenuItem))
                {
                    continue;
                }

                ToolStripMenuItem tsmiMenu = (ToolStripMenuItem)tsmi;

                MenuObject foundMO   = GetMenuObject(tsmiMenu.Name);
                bool       isAllowed = foundMO == null || pRole.IsMenuAllowed(foundMO);
                tsmiMenu.Enabled = isAllowed;
                tsmiMenu.Tag     = foundMO;

                InitializeMenuChildren(tsmiMenu, pRole);
            }
        }
コード例 #26
0
ファイル: Game1.cs プロジェクト: gkericks/legend-of-darwin
 public void setZTimeLevel(MenuObject.ZombieTime mytime,LevelState myLevel)
 {
     if (myLevel == LevelState.Level2) 
     {
         level2.setZTime(mytime);
     }
     else if (myLevel == LevelState.Level3)
     {
         level3.setZTime(mytime);
     }
     else if (myLevel == LevelState.Level4) 
     {
         level4.setZTime(mytime);
     }
     else if (myLevel == LevelState.Level5)
     {
         level5.setZTime(mytime);
     }
     else if (myLevel == LevelState.Level6)
     {
         level6.setZTime(mytime);
     }
 }
コード例 #27
0
            void EditGround(MenuObject info, GameObject scene)
            {
                if (info == null)
                {
                    return;
                }

                GameObject ground = scene.GetChild("wreckedShip").GetChild("boulder");

                Debug.Log("EditGround", "ground position = " + (Vector3d)ground.transform.position);
                Debug.Log("EditGround", "ground rotation = " + (Vector3d)ground.transform.eulerAngles);
                Debug.Log("EditGround", "ground scale = " + (Vector3d)ground.transform.localScale);

                // Enable
                ground.SetActive(info.enabled);
                if (!ground.activeSelf)
                {
                    return;
                }

                // Edit Position/Rotation/Scale
                ground.transform.position   = info.position ?? ground.transform.position;
                ground.transform.rotation   = info.rotation ?? ground.transform.rotation;
                ground.transform.localScale = info.scale ?? ground.transform.localScale;

                // Edit Appearances
                MeshFilter meshFilter = ground.transform.GetComponent <MeshFilter>();

                meshFilter.mesh = info.mesh ?? meshFilter.mesh;

                Renderer renderer = ground.transform.GetComponent <Renderer>();

                renderer.material.shader = info.shader ?? renderer.material.shader;
                renderer.material.SetTexture(info.texture1);
                renderer.material.SetNormal(info.normal1);
                renderer.material.SetColor(info.color1);
            }
コード例 #28
0
ファイル: TitleMenu.cs プロジェクト: acm-team/SpaceCats
        //********************************************
        // Methods
        //********************************************
        public override void LoadContent()
        {
            z_title = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\TitleMenus\\spacecats_wip"), new Vector2(640, 170), "");
            z_start = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\TitleMenus\\Title_Start"), new Vector2(640, 400), "Start");
            z_options = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\TitleMenus\\Title_Options"), new Vector2(640, 480), "Options");
            z_exit = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\TitleMenus\\Title_Exit"), new Vector2(640, 560), "Exit");
            z_selector = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\TitleMenus\\Selection Arrow"), Vector2.Zero, null);

            z_start.SetMenuPointers(null, z_options, null, null, "GoToMenu Main");
            z_options.SetMenuPointers(z_start, z_exit, null, null, "Options");
            z_exit.SetMenuPointers(z_options, null, null, null, "Exit");

            z_selector.Position = new Vector2(z_start.Position.X - z_start.Width / 2 - z_selector.Width / 2 - 15, z_start.Position.Y);
            Select(z_start);

            Objects.Add(z_title);
            Objects.Add(z_start);
            Objects.Add(z_options);
            Objects.Add(z_exit);
            Objects.Add(z_selector);

            // Temporary
            z_options.Locked = true;
        }
コード例 #29
0
        private MenuObject GetMenuObject(string pText)
        {
            MenuObject foundObject = _menuItems.Find(item => item == pText.Trim());

            return(foundObject);
        }
コード例 #30
0
            public PlayerSelector(Menu.Menu menu, MenuObject owner, Vector2 pos) : base(menu, owner, pos, new Vector2(0f, 0f))
            {
                buttons = new List <PlayerButton>();

                // Non-SlugBase slugcats
                foreach (SlugcatStats.Name name in Enum.GetValues(typeof(SlugcatStats.Name)))
                {
                    buttons.Add(new PlayerButton(this, new PlayerDescriptor((int)name), new Vector2()));
                }

                // SlugBase slugcats
                foreach (SlugBaseCharacter player in PlayerManager.customPlayers)
                {
                    buttons.Add(new PlayerButton(this, new PlayerDescriptor(player), new Vector2()));
                }

                foreach (PlayerButton button in buttons)
                {
                    subObjects.Add(button);
                }

                // Determine whether or not to have arrows
                float maxWidth;

                {
                    float maxButtonWidth = 0f;
                    for (int i = 0; i < buttons.Count; i++)
                    {
                        if (buttons[i].MaxWidth > maxButtonWidth)
                        {
                            maxButtonWidth = buttons[i].MaxWidth;
                        }
                    }
                    maxWidth = maxButtonWidth + (height + spacing) * (buttons.Count - 1);
                }

                if (maxWidth > width + 2f)
                {
                    hasArrows = true;
                }

                // Create the arrows
                if (hasArrows)
                {
                    arrows    = new ArrowButton[2];
                    arrows[0] = new ArrowButton(this, false, new Vector2(0f, 0f));
                    arrows[1] = new ArrowButton(this, true, new Vector2(width - arrowWidth, 0f));

                    foreach (ArrowButton arrow in arrows)
                    {
                        subObjects.Add(arrow);
                    }

                    viewWidth = width - (arrowWidth + spacing) * 2f;
                }
                else
                {
                    arrows    = new ArrowButton[0];
                    viewWidth = width;
                }

                // Create pages
                pages = GetPages();
                for (int pg = 0; pg < pages.Length; pg++)
                {
                    TogglePage(pg, false);
                }

                // Select one of the buttons to start with
                if (arenaCharacter.TryGet(menu.manager.arenaSetup, out var ply))
                {
                    // Load from a saved value
                    for (int i = 0; i < buttons.Count; i++)
                    {
                        if (buttons[i].player.Equals(ply))
                        {
                            for (int pg = pages.Length - 1; pg >= 0; pg--)
                            {
                                if (pg == 0 || (pages[pg].x <= i && pages[pg].y > i))
                                {
                                    TogglePage(pg, true);
                                }
                            }

                            buttons[i].SetSelected(true);
                            break;
                        }
                    }
                }
                else
                {
                    // Default to the Survivor
                    arenaCharacter[menu.manager.arenaSetup] = new PlayerDescriptor(0);
                    buttons[0].SetSelected(true);
                    TogglePage(0, true);
                }
            }
コード例 #31
0
 public extern void orig_Singal(MenuObject sender, string message);
コード例 #32
0
ファイル: PauseMenu.cs プロジェクト: jkgman/Dungeon
 public void ChangeMenu(MenuObject newMenu)
 {
     currentMenu.gameObject.SetActive(false);
     currentMenu = newMenu;
     currentMenu.gameObject.SetActive(true);
 }
コード例 #33
0
ファイル: PauseMenu.cs プロジェクト: jkgman/Dungeon
 private void StartMenu()
 {
     gameObject.SetActive(true);
     currentMenu = baseMenu;
     currentMenu.gameObject.SetActive(true);
 }
コード例 #34
0
ファイル: MainMenu.cs プロジェクト: acm-team/SpaceCats
        //********************************************
        // Methods
        //********************************************
        public override void LoadContent()
        {
            z_title = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main Menu Logo"), new Vector2(640, 120), "");
            z_missions = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main_Missions"), new Vector2(380, 405), "Missions");
            z_ship = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main_Ship"), new Vector2(640, 405), "Ship");
            z_store = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main_Store"), new Vector2(900, 405), "Store");
            z_option = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main_Options"), new Vector2(380, 620), "Options");
            z_achievements = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Main_Achievements"), new Vector2(640, 620), "Achievements");
            z_back = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MissionMenus\\Back"), new Vector2(900, 620), "Back");
            z_ship.ImageObject = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Ship_Image"), new Vector2(640, 320), "");
            z_store.ImageObject = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MainMenus\\Store_Image"), new Vector2(900, 320), "");
            z_back.ImageObject = new MenuObject(TheGame, TheGame.Content.Load<Texture2D>("Menus\\MissionMenus\\Back Image"), new Vector2(900, 525), "");

            z_missions.SetMenuPointers(null, z_option, null, z_ship, "GoToMenu Mission");
            z_ship.SetMenuPointers(null, z_achievements, z_missions, z_store, "");
            z_store.SetMenuPointers(null, z_back, z_ship, z_option, "");
            z_achievements.SetMenuPointers(z_ship, null, z_option, z_back, "");
            z_option.SetMenuPointers(z_missions, null, z_store, z_achievements, "");
            z_back.SetMenuPointers(z_store, null, z_achievements, null, "Back");

            z_missions.SpriteRects.Add(new Rectangle(0, 0, 165, 29));
            z_missions.SpriteRects.Add(new Rectangle(0, 31, 165, 41));
            z_missions.SetFrames(0, 0, 1, 1);
            z_ship.SpriteRects.Add(new Rectangle(0, 0, 83, 37));
            z_ship.SpriteRects.Add(new Rectangle(0, 39, 83, 49));
            z_ship.SetFrames(0, 0, 1, 1);
            z_store.SpriteRects.Add(new Rectangle(0, 0, 109, 28));
            z_store.SpriteRects.Add(new Rectangle(0, 30, 109, 42));
            z_store.SetFrames(0, 0, 1, 1);
            z_option.SpriteRects.Add(new Rectangle(0, 0, 140, 35));
            z_option.SpriteRects.Add(new Rectangle(0, 37, 140, 49));
            z_option.SetFrames(0, 0, 1, 1);
            z_achievements.SpriteRects.Add(new Rectangle(0, 0, 256, 30));
            z_achievements.SpriteRects.Add(new Rectangle(0, 33, 256, 42));
            z_achievements.SetFrames(0, 0, 1, 1);
            z_back.SpriteRects.Add(new Rectangle(0, 0, 96, 30));
            z_back.SpriteRects.Add(new Rectangle(0, 31, 96, 46));
            z_back.SetFrames(0, 0, 1, 1);
            z_ship.ImageObject.SpriteRects.Add(new Rectangle(0, 0, 74, 59));
            z_ship.ImageObject.SpriteRects.Add(new Rectangle(0, 65, 74, 95));
            z_ship.ImageObject.SetFrames(0, 0, 1, 1);
            z_store.ImageObject.SpriteRects.Add(new Rectangle(0, 0, 92, 84));
            z_store.ImageObject.SpriteRects.Add(new Rectangle(8, 92, 75, 92));
            z_store.ImageObject.SetFrames(0, 0, 1, 1);

            Select(z_missions);

            Objects.Add(z_title);
            Objects.Add(z_missions);
            Objects.Add(z_ship);
            Objects.Add(z_store);
            Objects.Add(z_achievements);
            Objects.Add(z_option);
            Objects.Add(z_back);
            Objects.Add(z_ship.ImageObject);
            Objects.Add(z_store.ImageObject);
            Objects.Add(z_back.ImageObject);

            // Temporary
            z_ship.Locked = true;
            z_option.Locked = true;
            z_achievements.Locked = true;
            z_store.Locked = true;
        }
コード例 #35
0
        public override void Singal(MenuObject sender, string message)
        {
            if (message != null)
            {
                if (buttonList == null)
                {
                    Dictionary <string, int> dictionary = new Dictionary <string, int>(4)
                    {
                        { "CANCEL", 0 },
                        { "APPLY", 1 },
                        { "RESET CONFIG", 2 },
                        { "SOUNDTEST", 3 }
                    };
                    buttonList = dictionary;
                }

                if (buttonList.TryGetValue(message, out int num))
                {
                    switch (num)
                    {
                    case 0:
                        OptionsMenuPatch.mod = false;
                        opened = false;
                        base.PlaySound(SoundID.MENU_Switch_Page_Out);
                        this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu);
                        break;

                    case 1:
                        if (OptionScript.configChanged)
                        {
                            base.PlaySound(SoundID.MENU_Switch_Page_In);
                            SaveCurrentConfig();
                            OptionScript.configChanged     = false;
                            this.saveButton.menuLabel.text = "SAVE ALL";
                        }
                        else
                        {
                            if (this.saveButton.menuLabel.text == "SAVE ALL")
                            {
                                base.PlaySound(SoundID.MENU_Next_Slugcat);
                                SaveAllConfig();
                                //EXIT
                                OptionsMenuPatch.mod = false;
                                opened = false;
                                this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.OptionsMenu);
                            }
                            else
                            {
                                base.PlaySound(SoundID.MENU_Button_Standard_Button_Pressed);
                            }
                        }
                        break;

                    case 2:
                        ResetCurrentConfig();
                        base.PlaySound(SoundID.MENU_Switch_Page_In);
                        opened = false;
                        OpenMenu();
                        break;

                    case 3:
                        if (!redUnlocked)
                        {
                            base.PlaySound(SoundID.MENU_Button_Standard_Button_Pressed);
                        }
                        else
                        {
                            base.PlaySound(SoundID.MENU_Switch_Page_In);

                            Debug.Log("Enter SoundTest");

                            this.InitializeSitting();
                            this.manager.rainWorld.progression.ClearOutSaveStateFromMemory();
                            if (this.manager.arenaSitting.ReadyToStart)
                            {
                                this.manager.RequestMainProcessSwitch(ProcessManager.ProcessID.Game);    //, 1.2f);
                            }
                            else
                            {
                                this.manager.arenaSitting = null;
                            }
                        }
                        break;
                    }
                }
            }
        }
コード例 #36
0
ファイル: patch_Slider.cs プロジェクト: FyreByrns/Monkland
 public void ctor_MainMenu(Menu.Menu menu, MenuObject owner, string text, Vector2 pos, Vector2 size, Slider.SliderID ID, bool subtleSlider)
 {
     OriginalConstructor(menu, owner, text, pos, size, ID, subtleSlider);
 }
コード例 #37
0
ファイル: patch_Slider.cs プロジェクト: FyreByrns/Monkland
 public extern void OriginalConstructor(Menu.Menu menu, MenuObject owner, string text, Vector2 pos, Vector2 size, Slider.SliderID ID, bool subtleSlider);
コード例 #38
0
ファイル: PauseMenu.cs プロジェクト: jkgman/Dungeon
 public void ExitMenu()
 {
     currentMenu.gameObject.SetActive(false);
     currentMenu = null;
     gameObject.SetActive(false);
 }
コード例 #39
0
 public void DeleteMenuItem(MenuObject menuItem)
 {
     _menuItemManager.DeleteItem(menuItem);
 }
コード例 #40
0
        public void DeleteItem(MenuObject menu)
        {
            const string q = @"DELETE FROM dbo.AllowedRoleMenus
                            WHERE menu_item_id = @menu_item_id";

            using (SqlConnection conn = GetConnection())
            {
                using (OpenCbsCommand c = new OpenCbsCommand(q, conn))
                {
                    c.AddParam("@menu_item_id", menu.Id);
                    c.ExecuteNonQuery();
                }
            }

            const string q1 = @"DELETE FROM dbo.MenuItems
                            WHERE id = @id";

            using (SqlConnection conn = GetConnection())
            {
                using (OpenCbsCommand c = new OpenCbsCommand(q1, conn))
                {
                    c.AddParam("@id", menu.Id);
                    c.ExecuteNonQuery();
                }
            }
        }
コード例 #41
0
ファイル: Menu.cs プロジェクト: acm-team/SpaceCats
 public virtual void Select(MenuObject select)
 {
     if (select != null)
         Selected = select;
 }
コード例 #42
0
ファイル: MenuItemServices.cs プロジェクト: aelhadi/opencbs
 public void DeleteMenuItem(MenuObject menuItem)
 {
     _menuItemManager.DeleteItem(menuItem);
 }