Пример #1
0
 // Update is called once per frame
 void Update()
 {
     if (sceneManager.IsTransition() ||
         baseCommand.GetState() == BaseCommand.State.Talk
         )
     {
         return;
     }
     // コマンドUIの表示・非表示の切り替え
     if (isMenuButtonPushed)
     {
         isMenuButtonPushed = false;
         // コマンド
         if (!commandUI.activeSelf)
         {
             // ユニティちゃんをコマンド状態にする
             baseCommand.SetState(BaseCommand.State.Command);
         }
         else
         {
             ExitCommand();
         }
         // コマンドUIのオン・オフ
         commandUI.SetActive(!commandUI.activeSelf);
     }
 }
Пример #2
0
    // Update is called once per frame
    void Update()
    {
        // シーン遷移途中とユニティちゃんの状態によっては表示しない
        if (sceneManager.IsTransition() ||
            baseCommand.GetState() == BaseCommand.State.Talk ||
            baseCommand.GetState() == BaseCommand.State.Command
            )
        {
            elapsedTime = 0f;
            characterStatusPanel.SetActive(false);
            return;
        }

        // 何らかのキーが押された時
        if (Input.GetMouseButtonDown(0))
        {
            elapsedTime = 0f;
            // キャラクターステータスパネルの子要素があれば削除する
            for (int i = characterStatusPanel.transform.childCount - 1; i >= 0; i--)
            {
                Destroy(characterStatusPanel.transform.GetChild(i).gameObject);
            }
            characterStatusPanel.SetActive(false);
            isOpenCharacterStatusPanel = false;
            // キャラクターステータスパネルを開いていない時だけ
        }
        else if (!isOpenCharacterStatusPanel)
        {
            elapsedTime += Time.deltaTime;
            // 経過時間が一定時間を越えたらキャラクターステータスパネルを表示
            if (elapsedTime >= idleTime)
            {
                GameObject characterPanel;
                // パーティーメンバー分のステータスを作成
                foreach (var member in partyStatus.GetAllyStatus())
                {
                    characterPanel = Instantiate <GameObject>(characterPanelPrefab, characterStatusPanel.transform);
                    characterPanel.transform.Find("CharacterName").GetComponent <Text>().text   = member.GetCharacterName();
                    characterPanel.transform.Find("HPSlider").GetComponent <Slider>().value     = (float)member.GetHp() / member.GetMaxHp();
                    characterPanel.transform.Find("HPSlider/HPText").GetComponent <Text>().text = member.GetHp().ToString();
                    characterPanel.transform.Find("MPSlider").GetComponent <Slider>().value     = (float)member.GetMp() / member.GetMaxMp();
                    characterPanel.transform.Find("MPSlider/MPText").GetComponent <Text>().text = member.GetMp().ToString();
                }
                characterStatusPanel.SetActive(true);
                elapsedTime = 0f;
                isOpenCharacterStatusPanel = true;
            }
        }
    }
Пример #3
0
 private void Update()
 {
     if (sceneManager.IsTransition() || mainPlayerScript.GetState() == MainPlayerScript.State.Talk)
     {
         return;
     }
     //コマンドUIの表示・非表示の切り替え
     if (Input.GetButtonDown("Menu"))
     {
         // コマンド
         if (!commandUI.activeSelf)
         {
             //メインプレイヤーをコマンド状態にする
             mainPlayerScript.SetState(MainPlayerScript.State.Command);
         }
         else
         {
             ExitCommand();
         }
         //コマンドUIのオン・オフ
         commandUI.SetActive(!commandUI.activeSelf);
     }
 }