private void Start() { var gameManager = GameObject.Find("GameManager"); _esm = gameManager.GetComponent <EnemySpawningManager>(); _r = GetComponent <Renderer>(); isOn = true; _r.material = on; }
public void SetUp(EnemySpawningManager spawningManager) { GenerateSpawningPointsLists(); spawningConditions.SetUpConditions(this); dropParameters = spawningManager.GetEnemySpawingDropParameters; StartWaveWaitingTime = spawningManager.AddWaveToWaitTime; EndWaveWaitingTime = spawningManager.RemoveWaveFromWaitTime; CheckIfReadyToSpawnWave(); OnWaveCleared = spawningManager.CheckIfAllWavesCleared; }
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); } } } }