public void RemoveEnemy(Transform enemyTransform) { if (trackedEnemies.Contains(enemyTransform)) { trackedEnemies.Remove(enemyTransform); EnemyCompassIndicator indicator = GetIndicatorForTransform(enemyTransform); indicators.Remove(indicator); pool.Pool.Release(indicator); } }
public void AddEnemy(Transform enemyTransform) { if (!trackedEnemies.Contains(enemyTransform)) { trackedEnemies.Add(enemyTransform); EnemyCompassIndicator indicator = pool.Pool.Get(); indicator.target = enemyTransform; indicators.Add(indicator); } }
void OnDestroyPoolObject(EnemyCompassIndicator obj) { Destroy(obj.gameObject); }
void OnTakeFromPool(EnemyCompassIndicator obj) { obj.gameObject.SetActive(true); }
void OnReturnedToPool(EnemyCompassIndicator obj) { obj.target = null; obj.gameObject.SetActive(false); }
private EnemyCompassIndicator CreatePooledItem() { EnemyCompassIndicator indicator = Instantiate(indicatorPrefab, transform); return(indicator); }