private static void UpdatePrefabPoolStat(PrefabPool prefabPool, GameStats.PoolStat stat) { if (stat.maxDespawned < prefabPool.despawnedCount) { stat.maxDespawned = prefabPool.despawnedCount; } if (stat.maxSpawned < prefabPool.spawnedCount) { stat.maxSpawned = prefabPool.spawnedCount; } }
private static GameStats.PoolStat FindOrCreate(PrefabPool prefabPool) { GameStats.PoolStat poolStat = GameStats._prefabPoolList.Find((GameStats.PoolStat x) => prefabPool == x.pool); if (poolStat == null) { poolStat = new GameStats.PoolStat { name = prefabPool.prefab.name, pool = prefabPool }; GameStats._prefabPoolList.Add(poolStat); } return(poolStat); }
public static void On_PrefabPoolSpawnNew(PrefabPool prefabPool) { GameStats.PoolStat poolStat = GameStats.FindOrCreate(prefabPool); poolStat.instantiateCount++; GameStats.UpdatePrefabPoolStat(prefabPool, poolStat); }
public static void On_PrefabPoolDespawn(PrefabPool prefabPool, Transform instance) { GameStats.PoolStat poolStat = GameStats.FindOrCreate(prefabPool); poolStat.despawnCount++; GameStats.UpdatePrefabPoolStat(prefabPool, poolStat); }