private void OnEnable() { if (_enemyHolder == null) { _enemyHolder = FindObjectOfType <EnemyHolder>(); } }
public static void LoadAssets() { PlayerHolder.Initialize(); EnemyHolder.Initialize(); WeaponHolder.Initialize(); AmmunitionDropHolder.Initialize(); ProjectileHolder.Initialize(); SoundHolder.Initialize(); VisualEffectHolder.Initialize(); AnimationHolder.Initialize(); MapHolder.Initialize(); OnLoadingStatus += PlayerHolder.CurrentLoadingPercentage; OnLoadingStatus += EnemyHolder.CurrentLoadingPercentage; OnLoadingStatus += WeaponHolder.CurrentLoadingPercentage; OnLoadingStatus += ProjectileHolder.CurrentLoadingPercentage; OnLoadingStatus += SoundHolder.CurrentLoadingPercentage; OnLoadingStatus += VisualEffectHolder.CurrentLoadingPercentage; OnLoadingStatus += AnimationHolder.CurrentLoadingPercentage; OnLoadingStatus += AmmunitionDropHolder.CurrentLoadingPercentage; OnLoadingStatus += MapHolder.CurrentLoadingPercentage; PlayerHolder.LoadAssets(); EnemyHolder.LoadAssets(); WeaponHolder.LoadAssets(); ProjectileHolder.LoadAssets(); SoundHolder.LoadAssets(); VisualEffectHolder.LoadAssets(); AnimationHolder.LoadAssets(); AmmunitionDropHolder.LoadAssets(); MapHolder.LoadAssets(); }
private void SpawnSquad() { SquadInfo sd = EnemyHolder.RandomSquad(difficulty, waveNumber); foreach (int id in sd.trash) { spawned.Add(Instantiate(EnemyHolder.staticTrashArray[id], new Vector3(Random.value, Random.value, Random.value) * 1000, transform.rotation, null )); } foreach (int id in sd.normal) { spawned.Add(Instantiate(EnemyHolder.staticNormalArray[id], new Vector3(Random.value, Random.value, Random.value) * 1000, transform.rotation, null )); } foreach (int id in sd.elite) { spawned.Add(Instantiate(EnemyHolder.staticEliteArray[id], new Vector3(Random.value, Random.value, Random.value) * 1000, transform.rotation, null )); } }
private void Awake() { _shooter = GetComponent <EnemyShooter>(); _mover = GetComponent <EnemyMover>(); _jumper = GetComponent <EnemyJumper>(); _enemyAnimator = GetComponent <EnemyAnimator>(); _health = GetComponent <Health>(); _collider = GetComponent <BoxCollider>(); _enemyHolder = FindObjectOfType <EnemyHolder>(); _characterAudio = GetComponent <CharacterAudio>(); }
private void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } }
public static void OnDestroy() { EventsHolder.OnDestroy(); AmmunitionDropHolder.OnDestroy(); //Holders PlayerHolder.OnDestroy(); EnemyHolder.OnDestroy(); WeaponHolder.OnDestroy(); ProjectileHolder.OnDestroy(); MapHolder.OnDestroy(); UIManager.OnDestroy(); }
/// <summary> /// Tell the spawners of a type to queue in the prefabs to instantiate, and /// then spawn them. /// </summary> /// <param name="enemy">The enemy Holder with the prefab to spawn</param> /// <param name="amount">How many enemies?</param> /// <param name="delay">Wait some seconds until telling each spawner to /// start</param> /// <param name="callerWave"> The combat wave that is sending the enemies /// </param> /// <returns>The objects spawned by all the spawners of this type.</returns> public Stack <GameObject> PopulateType(EnemyHolder enemy, int amount, float delay, CombatWave callerWave) { EnemyTypes enemyType = enemy.enemyType; Stack <GameObject> spawned = new Stack <GameObject>(); CombatSpawner[] sp = spawnerGroups[(int)enemyType].ToArray(); if (sp.Length == 0) { Debug.Log($"No spawners of type {enemyType}"); return(null); } int enqueued = 0; // Tell each spawner how many enemies it needs to spawn while (enqueued < amount) { for (int i = 0; i < sp.Length; i++) { sp[i].spawnQueue.Enqueue(enemy.enemyPrefab); enqueued++; if (enqueued >= amount) { break; } } } // Start the spawning process, making each spawner go down their queue. foreach (CombatSpawner cs in sp) { /* float startTime = Time.unscaledTime; * float time_delta = 0; * do * { * time_delta = Time.unscaledTime - startTime; * * }while(time_delta < delay);*/ spawned.Push(cs.StartSpawning(callerWave, enemy.distanceToAllowOtherToSpawn)); } return(spawned); }
private void Awake() { _levelData = levelDataHolder.levelData; _spawnPoints = new List <Transform>(); foreach (Transform enemyLine in enemyLines) { foreach (Transform spawnPoint in enemyLine) { _spawnPoints.Add(spawnPoint); if (spawnPoint.CompareTag("Boss Spawn Point")) { _bossSpawnPointIndex = _spawnPoints.Count - 1; } } } _player = FindObjectOfType <Player>().gameObject; _enemyHolder = GetComponent <EnemyHolder>(); }
private void Awake() { _mana = GetComponent <Mana>(); _enemyHolder = FindObjectOfType <EnemyHolder>(); _audioSource = GetComponent <AudioSource>(); }
public void DestroyEnemy(EnemyHolder enemyHolder) { _currentEnemies.Remove(enemyHolder); Destroy(enemyHolder.gameObject); }
public void Awake() { self = this; }