Exemple #1
0
    // Update is called once per frame
    protected override void MenuSpecificUpdate()
    {
        this.gameObject.SetActive(true);

        int key = 0;

        page          = ItemWindowIndex / ItemsPerPages;
        numberofpages = player.Inventory.Items.Count / ItemsPerPages + 1;
        if (player.Inventory.Items.Count % ItemsPerPages == 0 &&
            player.Inventory.Items.Count != 0)
        {
            numberofpages--;
        }

        if (Input.GetAxisRaw("Horizontal") > 0)
        {
            key = 6;
        }
        else if (Input.GetAxisRaw("Horizontal") < 0)
        {
            key = 4;
        }
        else if (Input.GetAxisRaw("Vertical") > 0)
        {
            key = 8;
        }
        else if (Input.GetAxisRaw("Vertical") < 0)
        {
            key = 2;
        }

        if (Input.GetKeyDown("x"))
        {
            State = WindowState.Inactive;
            return;
        }

        if (Input.GetKeyDown("z"))
        {
            if (player.Inventory.Items.Count <= ItemWindowIndex ||
                ItemWindowIndex < 0)
            {
                return;
            }
            State          = WindowState.WaitChildren;
            ChildrenWindow = ItemSelectWindow;
            ChildrenWindow.SetActive(true);
            ChildrenWindow.GetComponent <MenuWindow>().State = WindowState.Active;
            if (ChildrenWindow.GetComponent <ItemSelectWindow>())
            {
                ChildrenWindow.GetComponent <ItemSelectWindow>().ItemWindow = this.gameObject;
            }
            return;
        }

        if (key == 2)
        {
            ItemWindowIndex++;
        }

        if (key == 8)
        {
            ItemWindowIndex--;
        }

        if (key == 6)
        {
            ItemWindowIndex += ItemsPerPages;
        }
        if (key == 4)
        {
            ItemWindowIndex -= ItemsPerPages;
        }

        if (ItemWindowIndex > player.Inventory.Items.Count - 1)
        {
            ItemWindowIndex = player.Inventory.Items.Count - 1;
        }
        if (ItemWindowIndex < 0)
        {
            ItemWindowIndex = 0;
        }

        if (PreviousItemWindowIndex != ItemWindowIndex)
        {
            PreviousItemWindowIndex = ItemWindowIndex;
            page = ItemWindowIndex / ItemsPerPages;
            StartCoroutine(KeyRepert(0.1f));
        }
    }
Exemple #2
0
    // Update is called once per frame
    protected override void MenuSpecificUpdate()
    {
        int key = 0;

        List <string> MainSelectCommands = new List <string>();

        MainSelectCommands.Clear();
        MainSelectCommands.Add(ItemMenuString);
        MainSelectCommands.Add(MoveMenuString);
        MainSelectCommands.Add(CurrentJobMenuString);
        MainSelectCommands.Add(JobLevelMenuString);
        MainSelectCommands.Add(ActiveSkillMenuString);
        MainSelectCommands.Add(SaveMenuString);
        MainSelectCommands.Add(CloseMenuString);

        if (Input.GetAxisRaw("Horizontal") > 0)
        {
            key = 6;
        }
        else if (Input.GetAxisRaw("Horizontal") < 0)
        {
            key = 4;
        }
        else if (Input.GetAxisRaw("Vertical") > 0)
        {
            key = 8;
        }
        else if (Input.GetAxisRaw("Vertical") < 0)
        {
            key = 2;
        }

        if (Input.GetKeyDown("x"))
        {
            State = WindowState.Inactive;
            this.gameObject.SetActive(false);
            return;
        }

        if (Input.GetKeyDown("z"))
        {
            if (MainSelectCommands[MainWindowIndex] == ItemMenuString)
            {
                ChildrenWindow = ItemWindow;
                ChildrenWindow.SetActive(true);
                ChildrenWindow.GetComponent <MenuWindow>().State = WindowState.Active;
                State = WindowState.WaitChildren;
            }

            if (MainSelectCommands[MainWindowIndex] == MoveMenuString)
            {
                if (GameManager.instance.IsOnStair(Player.instance))
                {
                    MenuWindow.Command = WindowTurnCommand.MoveMap;
                    State = WindowState.Inactive;
                    this.gameObject.SetActive(false);
                }
                else
                {
                    MessageWindow.instance.ConOut("足元に階段がありません。");
                }
            }

            if (MainSelectCommands[MainWindowIndex] == CurrentJobMenuString)
            {
                ChildrenWindow = CurrentJobWindow;
                ChildrenWindow.SetActive(true);
                ChildrenWindow.GetComponent <MenuWindow>().State = WindowState.Active;
                State = WindowState.WaitChildren;
            }

            if (MainSelectCommands[MainWindowIndex] == JobLevelMenuString)
            {
                ChildrenWindow = JobWindow;
                ChildrenWindow.SetActive(true);
                ChildrenWindow.GetComponent <MenuWindow>().State = WindowState.Active;
                State = WindowState.WaitChildren;
            }

            if (MainSelectCommands[MainWindowIndex] == ActiveSkillMenuString)
            {
                ChildrenWindow = ActiveSkillWindow;
                ChildrenWindow.SetActive(true);
                ChildrenWindow.GetComponent <MenuWindow>().State = WindowState.Active;
                State = WindowState.WaitChildren;
            }

            if (MainSelectCommands[MainWindowIndex] == SaveMenuString)
            {
                //セーブ実行前に現在マップのデータをHOLDしておく
                Player.instance.HoldCharacterData();
                GameManager.instance.boardScript.HoldCurrentMapData();
                SystemManager.HoldSystemGameData();
                SaveManager.SaveAllJson();
                MessageWindow.instance.ConOut("セーブしました!");
            }

            if (MainSelectCommands[MainWindowIndex] == CloseMenuString)
            {
                State = WindowState.Inactive;
                this.gameObject.SetActive(false);
            }
            return;
        }

        if (key == 2)
        {
            MainWindowIndex++;
        }

        if (key == 8)
        {
            MainWindowIndex--;
        }

        if (MainWindowIndex > MainSelectCommands.Count - 1)
        {
            MainWindowIndex = MainSelectCommands.Count - 1;
        }

        if (MainWindowIndex < 0)
        {
            MainWindowIndex = 0;
        }

        if (PreviousWindowIndex != MainWindowIndex)
        {
            PreviousWindowIndex = MainWindowIndex;
            StartCoroutine(KeyRepert(0.1f));
        }

        MainText.text = "";
        for (int i = 0; i < MainSelectCommands.Count; i++)
        {
            if (i == MainWindowIndex)
            {
                MainText.text += SelectionTag;
            }
            MainText.text += MainSelectCommands[i];
            if (i == MainWindowIndex)
            {
                MainText.text += SelectionTagFooter;
            }
            MainText.text += "\n";
        }
    }