private void FixedUpdate() { if (timer.Execute(Time.fixedDeltaTime)) { return; } AIActionListComponent ai = AIPooler.Get(); ai.Position = Origin.position; ai.gameObject.SetActive(true); gameObject.SetActive(false); Spawned?.Invoke(this, ai); }
private void Spawn_Spawned(Spawn source, AIActionListComponent ai) { spawning.Remove(source); spawnedCharacters.Add(ai); void SpawnedDeath_Died(CharacterDeath source, CharacterDeadBody deadBody) { spawnedCharacters.Remove(ai); source.Died -= SpawnedDeath_Died; } ai.Death.Died += SpawnedDeath_Died; source.Spawned -= Spawn_Spawned; }