49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
/**
|
||
* 封装MultiMap,用于重用
|
||
*/
|
||
|
||
namespace ET
|
||
{
|
||
public class MultiMapComponent<T, K>: Entity
|
||
{
|
||
public MultiMap<T, K> MultiMap = new MultiMap<T, K>();
|
||
|
||
public override void Dispose()
|
||
{
|
||
if (this.IsDisposed)
|
||
{
|
||
return;
|
||
}
|
||
|
||
base.Dispose();
|
||
|
||
this.MultiMap.Clear();
|
||
}
|
||
} public class UnOrderMultiMapComponent<T, K>: Object
|
||
{
|
||
private bool isDispose;
|
||
|
||
public UnOrderMultiMap<T, K> MultiMap = new UnOrderMultiMap<T, K>();
|
||
public static UnOrderMultiMapComponent<T, K> Create()
|
||
{
|
||
UnOrderMultiMapComponent<T, K> listComponent = ObjectPool.Instance.Fetch<UnOrderMultiMapComponent<T, K>>();
|
||
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);
|
||
}
|
||
}
|
||
} |