Методы создания кнопок с использованием OnGUI в Unity

Кнопка Unity OnGUI — это метод, используемый в движке разработки игр Unity для создания кнопок с использованием функции OnGUI. Вот несколько способов реализации кнопок с использованием OnGUI в Unity:

  1. Метод 1: использование GUILayout.Button:

    void OnGUI()
    {
       if (GUILayout.Button("Button 1"))
       {
           // Button 1 clicked
       }
    
       if (GUILayout.Button("Button 2"))
       {
           // Button 2 clicked
       }
    }
  2. Способ 2: использование графического интерфейса. Кнопка:

    void OnGUI()
    {
       if (GUI.Button(new Rect(10, 10, 100, 50), "Button 1"))
       {
           // Button 1 clicked
       }
    
       if (GUI.Button(new Rect(10, 70, 100, 50), "Button 2"))
       {
           // Button 2 clicked
       }
    }
  3. Метод 3. Использование Event.current:

    void OnGUI()
    {
       if (Event.current.type == EventType.MouseDown && Event.current.button == 0 && GUI.Button(new Rect(10, 10, 100, 50), "Button 1"))
       {
           // Button 1 clicked
       }
    
       if (Event.current.type == EventType.MouseDown && Event.current.button == 0 && GUI.Button(new Rect(10, 70, 100, 50), "Button 2"))
       {
           // Button 2 clicked
       }
    }
  4. Метод 4. Использование специального класса кнопок:

    class MyButton
    {
       public string label;
       public Rect position;
    
       public bool Draw()
       {
           if (GUI.Button(position, label))
           {
               // Button clicked
               return true;
           }
    
           return false;
       }
    }
    
    void OnGUI()
    {
       MyButton button1 = new MyButton { label = "Button 1", position = new Rect(10, 10, 100, 50) };
       if (button1.Draw())
       {
           // Button 1 clicked
       }
    
       MyButton button2 = new MyButton { label = "Button 2", position = new Rect(10, 70, 100, 50) };
       if (button2.Draw())
       {
           // Button 2 clicked
       }
    }