添加、关闭窗口

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    private ArrayList winArr = new ArrayList();

    void Start()
    {
        winArr.Add ( new Rect (winArr.Count * 200, 50, 180, 100) );
    }

    void OnGUI()
    {
        int count = winArr.Count;
        for (int i = 0; i < count; ++i) 
        {
            winArr[i] = GUILayout.Window( i, (Rect)winArr[i], AddWindow, "Window ID:" + i );
            Debug.Log( winArr[i] );
        }
    }

    void AddWindow( int winID )
    {
        GUILayout.BeginHorizontal ();
        GUILayout.Label ("This is a new Window");
        GUILayout.EndHorizontal ();

        GUILayout.BeginHorizontal ();
        if (GUILayout.Button ("Add a Win")) 
        {
            winArr.Add ( new Rect (winArr.Count * 200, 50, 180, 100) );
        }

        if ( GUILayout.Button ("Close a Win") ) 
        {
            winArr.RemoveAt( winID );
        }
        GUILayout.EndHorizontal ();

        GUI.DragWindow( new Rect( 0, 0, Screen.width, Screen.height ) );

    }
}