@gevorg_265

Как в условие поставить нажатие UI кнопки?

как в условие поставить нажатие UI кнопки?
void OnGUI()
    {
        if (vis) // если переменная равна true;
        {
            Cursor.lockState = CursorLockMode.None;
            if (!quest1)
                    {

                if (!quest) // и если квест еще не взят;
                {
                    questPanel.SetActive(true);
                    questName.text = "Квест";
                    questText.text = "Принеси мне сферу";

                    //GUI.Box(new Rect((Screen.width - 400) / 2, (Screen.height - 400) / 2, 300, 300), "Квест"); // то на экране отображается окно с названием Квест;
                    //GUI.Label(new Rect((Screen.width - 400) / 2 + 5, (Screen.height - 400) / 2 + 15, 290, 250), "Принеси мне сферу"); // и текстом который описывает квест;
                   if (GUI.Button(new Rect((Screen.width - 200) / 2, (Screen.height - 400) / 2 + 250, 100, 40), "Ок")) /* 
как вместо этого GUI сделать так, чтобы при нажатии на эту кнопку "public Button questButton;" 
выполнялась нижняя часть.
                  */
                    {
                        
                        quest = true; // квест взят;
                        MP.quest = true; // отображает название квеста на экране;
                        MP.MissionText = "Принести сферу"; // текст квеста;
                        MP.ObjectTag = missionTag; // тэг объекта который необходимо принести;
                        Cursor.lockState = CursorLockMode.Locked;
                        questPanel.SetActive(false);
                        vis = false; // все диалоговые окна закрываются;
                    }
                }
                else
                { // если же квест уже взят;
                    questPanel.SetActive(true);
                    questName.text = "Квест";
                    questText.text = "Принес?";
                    //GUI.Box(new Rect((Screen.width - 400) / 2, (Screen.height - 400) / 2, 300, 300), "Квест");
                    //GUI.Label(new Rect((Screen.width - 300) / 2 + 5, (Screen.height - 300) / 2 + 15, 290, 250), "Принес?"); //то описание квеста меняется на другой текст;
                    if (MP.MissionObjects) // если вы уже подобрали объект;
                    {
                        if (GUI.Button(new Rect((Screen.width - 100) / 2, (Screen.height - 300) / 2 + 250, 100, 40), "Да")) // то появится кнопка да, при нажатии на которую;
                        {
                            quest = false; // переменная квест принимает значение false, т.е. не взят ;
                            MP.quest = false; // название квеста не будет отображаться на экране ;
                            MP.MissionText = ""; // убирается название квеста;
                            MP.ObjectTag = ""; // обнуляется тэг объекта;
                            MP.MissionObjects = false; // объект считается не подобранным;
                            MP.Money = MP.Money + 100; //добавление денег за выполнение квеста;
                            quest1 = true;
                            questPanel.SetActive(false);
                            Cursor.lockState = CursorLockMode.Locked;
                            vis = false; // диалоговое окно закрывается;
                        }
                    }
                    else
                    { // если вы еще не подобрали объект;
                        if (GUI.Button(new Rect((Screen.width - 100) / 2, (Screen.height - 300) / 2 + 250, 100, 40), "Нет")) // то вместо кнопки да, будет кнопка нет;
                        {
                            Cursor.lockState = CursorLockMode.Locked;
                            questPanel.SetActive(false);
                            vis = false; // при нажатии на которую, окно просто закроется;
                        }
                    }
                
                }
                
            }
            else
            {
                questPanel.SetActive(true);
                questName.text = "Квест";
                questText.text = "Ты уже принес мне сферу";
                MP.QuestHelp.text = " ";
                //GUI.Box(new Rect((Screen.width - 400) / 2, (Screen.height - 400) / 2, 300, 300), "Квест");
                //GUI.Label(new Rect((Screen.width - 400) / 2 + 5, (Screen.height - 400) / 2 + 15, 290, 250), "Ты уже принес мне сферу");
                if (GUI.Button(new Rect((Screen.width - 100) / 2, (Screen.height - 300) / 2 + 250, 100, 40), "Закрыть")) // то вместо кнопки да, будет кнопка нет;
                {
                    Cursor.lockState = CursorLockMode.Locked;
                    questPanel.SetActive(false);
                    vis = false; // при нажатии на которую, окно просто закроется;
                }

            }
        }
    }

я хочу заменить все GUI элементы на UI.
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Tiubert
Могу предоставить временное решение, пока не придёт более знающий человек:
Создайте новую кнопку, которая будет появляться вместе с панелью с помощью SetActive. Такую кнопку, я думаю, вы точно сможете настроить
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы