protected object ShowPopWindow(Type type, object obj = null, Transform parent = null) { if (currentPop != null) { currentPop.Hide(); currentPop = null; } for (int i = 0; i < pops.Count; i++) { if (pops[i].GetType() == type) { currentPop = pops[i]; pops[i].Show(obj); return(pops[i]); } } var t = Activator.CreateInstance(type) as HotPopWindow; pops.Add(t); currentPop = t; if (parent == null) { t.Initial(Parent, this, obj); } else { t.Initial(parent, this, obj); } t.ReSize(); return(t); }
protected T ShowPopWindow <T>(object obj = null, Transform parent = null) where T : HotPopWindow, new() { if (currentPop != null) { currentPop.Hide(); currentPop = null; } for (int i = 0; i < pops.Count; i++) { if (pops[i] is T) { currentPop = pops[i]; pops[i].Show(obj); return(pops[i] as T); } } var t = new T(); pops.Add(t); currentPop = t; if (parent == null) { t.Initial(Parent, this, obj); } else { t.Initial(parent, this, obj); } t.ReSize(); return(t); }
public void HidePopWindow() { if (currentPop != null) { currentPop.Hide(); } currentPop = null; }
public void ReleasePopWindow(HotPopWindow window) { pops.Remove(window); if (currentPop == window) { currentPop = null; } window.Dispose(); }
public void ReleasePopWindow <T>() { for (int i = 0; i < pops.Count; i++) { if (pops[i] is T) { pops[i].Dispose(); pops.RemoveAt(i); break; } } if (currentPop is T) { currentPop = null; } }
public override void Dispose() { if (pops != null) { for (int i = 0; i < pops.Count; i++) { pops[i].Dispose(); } } pops.Clear(); currentPop = null; if (Main != null) { Main.transform.SetParent(null); HGUIManager.GameBuffer.RecycleGameObject(Main); } ClearUI(); }