public void Remove(CGameUI ui) { if (!ui || ui.disposed) { return; } if (ui.index < 0) { return; } uis[ui.index] = null; ui.Close(); names.Remove(ui.Name); index_pool.Free(ui.index); ui.index = -1; if (loading.ContainsKey(ui.Name)) { CGameUIAsset asset = loading[ui.Name] as CGameUIAsset; CClientCommon.DestroyImmediate(ref asset); loading.Remove(ui.Name); } ui.Dispose(); ui = null; }
public void Remove(Handler h) { if (h == null) { return; } handlers[h.Key] = null; index_pool.Free(h.Key); }