public enum WindowType //窗口类型
{
Login, //登录窗口
Reg //注册窗口
}
//创建字典,管理窗口
private Dictionary<WindowType, GameObject> idi = new Dictionary<WindowType, GameObject>();
public GameObject LoadWindow(WindowType type,DirType dir)
{
GameObject obj = null;
//如果窗口不存在,加载窗口
if (!idi.ContainsKey(type))
{
switch (type)
{
case WindowType.Login:
//窗口需要加载缓存
obj = ResourceManager.Instance.Load(ResourceManager.ResourceType.UIWindow, "Login", true);
break;
case WindowType.Reg:
obj = ResourceManager.Instance.Load(ResourceManager.ResourceType.UIWindow, "Reg", true);
break;
}
//把窗口放入字典里面
idi.Add(type, obj);
obj.transform.parent = UISceneLoginManager.instance.container;
obj.transform.localPosition = Vector3.zero;
obj.transform.localScale = Vector3.one;
NGUITools.SetActive(obj, false);//禁用
OpenWindow(obj, true, dir);
}
else {
//窗口存在,从字典里面读取
obj = idi[type].gameObject;
}
//层级管理
LayerUIManager.Instance.SetLayerDepth(obj);
return obj;
}