Пример #1
0
    private void Start()
    {
        var gameManager = GameObject.Find("GameManager");

        _esm = gameManager.GetComponent <EnemySpawningManager>();
        _r   = GetComponent <Renderer>();
        isOn = true;

        _r.material = on;
    }
Пример #2
0
    public void SetUp(EnemySpawningManager spawningManager)
    {
        GenerateSpawningPointsLists();
        spawningConditions.SetUpConditions(this);

        dropParameters = spawningManager.GetEnemySpawingDropParameters;

        StartWaveWaitingTime = spawningManager.AddWaveToWaitTime;
        EndWaveWaitingTime   = spawningManager.RemoveWaveFromWaitTime;

        CheckIfReadyToSpawnWave();

        OnWaveCleared = spawningManager.CheckIfAllWavesCleared;
    }
Пример #3
0
    public void SetUpStep(EnemySpawningManager enemySpawningManager)
    {
        targetsToDestroyReceivers = new List <IDamageReceiver>();

        foreach (GameObject targetObject in targetsToDestroy)
        {
            if (targetObject != null)
            {
                IDamageReceiver damageReceiver = targetObject.GetComponent <IDamageReceiver>();
                if (damageReceiver != null)
                {
                    targetsToDestroyReceivers.Add(damageReceiver);
                    damageReceiver.OnDeath += new OnLifeEvent(RemoveTargetToDestroy);
                }
            }
        }

        remainingZones = new List <TargetZone>();

        foreach (TargetZone zoneToGoTo in zonesToGoTo)
        {
            remainingZones.Add(zoneToGoTo);
            zoneToGoTo.OnPlayerEnter += RemoveZoneToGoTo;
            zoneToGoTo.StartZone();
        }

        PlayStepIntro();

        StartEvent.Invoke();

        GameManager.gameManager.Player.PlrInterface.ChangeCompetencesAvailability(availableCompetences);

        if (spawnSpecificWaveOnStepStart)
        {
            List <IDamageReceiver> waveTargetsToDestroy = enemySpawningManager.SpawnEnemiesExternaly(waveToSpawnIndex);
            if (needToClearSpawnedWaveToValidate)
            {
                foreach (IDamageReceiver receiver in waveTargetsToDestroy)
                {
                    targetsToDestroyReceivers.Add(receiver);
                    receiver.OnDeath += new OnLifeEvent(RemoveTargetToDestroy);
                }
            }
        }
    }