Пример #1
0
    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;
    }