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 Window createWindow <Window>(TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal) where Window : TezWindow, ITezSinglePrefab { return(this.createWindow <Window>(typeof(Window).Name, layer, life)); }
public TezWindow createWindow(TezWindow prefab, TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal) { return(this.createWindow(prefab, prefab.GetType().Name, layer, life)); }
public Window createWindow <Window>(string name, TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal) where Window : TezWindow, ITezSinglePrefab { return(this.createWindow(TezcatFramework.prefabDatabase.get <Window>(), name, layer, life)); }
public Widget createWidget <Widget>(TezLayer layer, TezWidgetLife life = TezWidgetLife.Normal) where Widget : TezBaseWidget, ITezSinglePrefab { return(this.createWidget <Widget>(layer.rectTransform, life)); }
/// <summary> /// 创建一个Widget /// </summary> /// <typeparam name="Widget">类类型</typeparam> /// <param name="parent">父级</param> /// <param name="life">控件类型(普通类型,还是类型唯一类型)</param> /// <returns></returns> public Widget createWidget <Widget>(RectTransform parent, TezWidgetLife life = TezWidgetLife.Normal) where Widget : TezBaseWidget, ITezSinglePrefab { return((Widget)this.createWidget(TezcatFramework.prefabDatabase.get <Widget>(), parent, life)); }
/// <summary> /// 用Prefab创建一个Widget /// </summary> public TezBaseWidget createWidget(TezBaseWidget prefab, RectTransform parent, TezWidgetLife life) { TezBaseWidget widget = null; switch (life) { case TezWidgetLife.Normal: widget = Instantiate(prefab, parent, false); break; case TezWidgetLife.TypeOnly: var type = prefab.GetType(); if (m_WidgetWithType.TryGetValue(type, out widget)) { widget.reset(); return(widget); } else { widget = Instantiate(prefab, parent, false); m_WidgetWithType.Add(type, widget); } break; default: break; } widget.life = life; return(widget); }