CTT/Unity/Assets/Model/Core/MultiMapComponent.cs

49 lines
1.1 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
/**
* 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
2021-04-08 20:09:59 +08:00
{
private bool isDispose;
2021-04-08 20:09:59 +08:00
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;
}
2021-04-08 20:09:59 +08:00
public override void Dispose()
{
if (this.isDispose)
2021-04-08 20:09:59 +08:00
{
return;
}
this.isDispose = true;
2021-04-08 20:09:59 +08:00
base.Dispose();
2021-04-08 20:09:59 +08:00
this.MultiMap.Clear();
ObjectPool.Instance.Recycle(this);
2021-04-08 20:09:59 +08:00
}
}
}