Страница 1 из 1

Как работать с GUI?

СообщениеДобавлено: 14 янв 2018, 18:06
Potay
Хочу сделать всплывающие окна при нажатии на экране кнопок, кнопки сделал через UI обычный и событие им на нажатие, которое вызывает событие ShowWindow. И суть в том, что я в ShowWindow пытался сделать окно через GUI.Window, но нельзя использовать функции GUI не в OnGUI, но OnGUI вызывается каждый обновленный кард, как мне сделать проверку, что человек нажал на кнопку и ему показать окно?
Главное я делал проверку довольно банально, примерно вот так
Синтаксис:
Используется csharp
bool test = false;

public void ShowMessage()
{
        test = true;
}
void OnGUI()
{
        if(test == true)
        {
                GUI.Window(...);
        }
}

Но не работало

Re: Как работать с GUI?

СообщениеДобавлено: 15 янв 2018, 02:58
samana
Это странно. Проверил ваш подход, создал UI кнопку, на неё повесил метод показа GUI окна и всё работает. Код был подобный вашему:

Синтаксис:
Используется csharp
using UnityEngine;

public class GUITest : MonoBehaviour
{
    bool _show;

    public void ShowHideGUIWindow()
    {
        _show = !_show;
    }

    private void OnGUI()
    {
        if (_show)
        {
            GUI.Window(0, new Rect(10, 10, 200, 152), windowAction, "Window");
        }
    }

    private void windowAction(int id)
    {
    }
}