private Window createWindow <Window>(Window prefab , string name , TezLayer layer , TezWidgetLife life) where Window : TezWindow, ITezSinglePrefab { TezWindow window = null; switch (life) { case TezWidgetLife.Normal: window = Instantiate(prefab, layer.transform, false); break; case TezWidgetLife.TypeOnly: TezBaseWidget widget = null; var type = typeof(Window); if (m_WidgetWithType.TryGetValue(type, out widget)) { widget.reset(); return((Window)widget); } else { window = Instantiate(prefab, layer.transform, false); m_WidgetWithType.Add(type, window); } break; default: break; } int id = this.giveID(); window.windowID = id; window.windowName = name; window.layer = layer; window.life = life; m_WindowList[id] = window; return((Window)window); }
public void removeWindow(TezWindow window) { m_FreeWindowID.Enqueue(window.windowID); m_WindowList[window.windowID] = null; }
public TezWindow createWindow(TezWindow prefab, TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal) { return(this.createWindow(prefab, prefab.GetType().Name, layer, life)); }