/** * 封装MultiMap,用于重用 */ namespace ET { public class MultiMapComponent: Entity { public MultiMap MultiMap = new MultiMap(); public override void Dispose() { if (this.IsDisposed) { return; } base.Dispose(); this.MultiMap.Clear(); } } public class UnOrderMultiMapComponent: Object { private bool isDispose; public UnOrderMultiMap MultiMap = new UnOrderMultiMap(); public static UnOrderMultiMapComponent Create() { UnOrderMultiMapComponent listComponent = ObjectPool.Instance.Fetch>(); listComponent.isDispose = false; return listComponent; } public override void Dispose() { if (this.isDispose) { return; } this.isDispose = true; base.Dispose(); this.MultiMap.Clear(); ObjectPool.Instance.Recycle(this); } } }