public class Lesson8 : MonoBehaviour
{
private Rect r = new Rect(400,400,200,150);
private void OnGUI()
{
//窗口
//窗口唯一id,Rect,绘制窗口委托函数,窗口标题
GUI.Window(1, new Rect(100, 100, 200, 150), DrawWindow, "Test1");
GUI.Window(2, new Rect(100, 100, 200, 150), DrawWindow, "Test2");
//模态窗口
//模态窗口出现会使别的控件全部失效,即使没有重合也会优先响应模态窗口
//常用于警告或报错窗口
GUI.ModalWindow(3,new Rect(300,100,200,150),DrawWindow, "模态窗口");
//拖动窗口
r = GUI.Window(4, r, DrawWindow, "拖动窗口");
}
private void DrawWindow(int id)
{
//ID除了能区分窗口外,还能通过ID让一个函数执行不同逻辑
switch(id)
{
case 1:
//以窗口左上角为原点
GUI.Button(new Rect(0, 30, 30, 20), "1");
break;
//拖动窗口需要在委托函数中写入该API以实现拖动功能
//该函数可以传入Rect参数,该参数决定点击哪部分能拖动该窗口
//默认不填是点击窗口任意位置都能拖动
case 4:
GUI.DragWindow();
break;
}
}
}