This commit is contained in:
CortexCore
2024-05-31 01:23:15 +08:00
parent c798b224be
commit 299082fe27
164 changed files with 3604 additions and 2018 deletions

View File

@@ -37,9 +37,30 @@ namespace BITKit
{
Prefab = _Prefabs[name],
OnReturn = null,
OnSpawn = OnSpawnInternal
};
return pool;
void OnSpawnInternal(Transform newObject)
{
OnSpawn(name,newObject);
}
}
private static void OnSpawn(string newName,Transform newObject)
{
if (newObject.TryGetComponent<IPoolObject>(out var obj) is false) return;
obj.EnabledHandle.AddListener(OnEnabled);
// BIT4Log.Log<PoolService>($"Adding {newObject.name} to pool");
return;
void OnEnabled(bool obj)
{
if(obj)return;
Release(newName,newObject);
}
}
[SerializeField] private SerializedDictionary<Transform,int> initialCapacity;
private void Start()
@@ -52,6 +73,7 @@ namespace BITKit
DefaultCapacity = value,
Root = transform,
OnReturn = null,
OnSpawn =OnSpawnInternal
};
_Prefabs.TryAdd(key.name, key);
_Pools.TryAdd(key.name, pool);
@@ -65,6 +87,12 @@ namespace BITKit
x.gameObject.SetActive(false);
pool.Return(x);
}
continue;
void OnSpawnInternal(Transform newObject)
{
OnSpawn(key.name,newObject);
}
}
}