void Start() { _baseEnemyCount = gameControlls.GetBaseEnemyCount; _baseTimeToSpawn = gameControlls.GetTimeSpawn; _timeToSpawn = _baseTimeToSpawn; _enemyUpgrade = GetComponent <EnemyUpgrade>(); }
public void ApplyUpgrade(EnemyUpgrade upgrade) { this.Health = upgrade.Health; this.Velocity = upgrade.Velocity; this.Damage = upgrade.Damage; this.AttackRate = upgrade.AttackRate; this.HasBeenUpgraded = true; }
public static EnemyChaserScript CreateEnemyChaser(Vector3 position, EnemyUpgrade upgrade) { //Instanciate our enemy GameObject enemyObject = Instantiate(instance.EnemyChaserPrefab, position, Quaternion.identity) as GameObject; EnemyChaserScript enemy = enemyObject.GetComponent<EnemyChaserScript>(); //Set the stats for the enemy enemy.ApplyUpgrade(upgrade); //add the enemy object to the enemy container enemyObject.transform.parent = EnemyContainer.transform; //return the enemy return enemy; }
public void SpawnEnemy(EnemyTypes type, EnemyUpgrade upgrade, int count) { if (MapSystemScript.instance.EnemiesEnabled()) { Vector3 playerPos = player.transform.position; for (int i = 0; i < count; ++i) { Vector3 spawnPos = MapSystemScript.instance.GetCurrentLevel().GetComponent<LevelScript>().GetRandomSpawnPoint().transform.position; //MapInfo.GetRandomPointOnMap(); //while (Mathf.Abs(playerPos.x - spawnPos.x) <= minimumSpawnRange || Mathf.Abs(playerPos.z - spawnPos.z) <= minimumSpawnRange) //{ // spawnPos = MapInfo.GetRandomPointOnMap(); //} switch (type) { case (EnemyTypes.Debugging): ObjectFactory.CreateDebugEnemy(spawnPos); break; case (EnemyTypes.Chaser): ObjectFactory.CreateEnemyChaser(spawnPos, upgrade); break; case (EnemyTypes.Bouncer): ObjectFactory.CreateEnemyBouncer(spawnPos, upgrade); break; case (EnemyTypes.Charger): ObjectFactory.CreateEnemyCharger(spawnPos, upgrade); break; case (EnemyTypes.Sniper): ObjectFactory.CreateEnemySniper(spawnPos, upgrade); break; case (EnemyTypes.Healer): ObjectFactory.CreateEnemyHealer(spawnPos, upgrade); break; case (EnemyTypes.Spawner): ObjectFactory.CreateEnemySpawner(spawnPos, upgrade); break; case (EnemyTypes.Boss): { switch (Random.Range(0, 2)) { case 0: ObjectFactory.CreateEnemySniperBoss(spawnPos, upgrade); break; case 1: ObjectFactory.CreateEnemyChaserBoss(spawnPos, upgrade); break; case 2: ObjectFactory.CreateEnemySpawnerBoss(spawnPos, upgrade); break; } } break; default: break; } } } }
public void ApplyUpgrade(EnemyUpgrade upgrade) { this.baseHealth = upgrade.Health; this.baseVelocity = upgrade.Velocity; this.baseDamage = upgrade.Damage; this.baseAttackRate = upgrade.AttackRate; this.HasBeenUpgraded = true; Health = baseHealth; MaxHealth = baseHealth; Velocity = baseVelocity; Damage = baseDamage; AttackRate = baseAttackRate; }
// Use this for initialization void Start() { parent = GetComponentInParent<EnemyUpgrade>(); //Debug.Log(parent.gameObject.name); }
public WaveSystem(SpawnScript spawnScript, PlayerScript playerScript) { //if (instance == null) //{ instance = this; //misc wave system init RoundNumber = 1; WaveNumber = 0; this.spawnScript = spawnScript; this.playerScript = playerScript; EnemiesRemaining = 0; ForceSpawnWave = false; WaveFinished = true; WaveCountdownOccuring = false; spawnWaveTimer = TimeUntilWaveSpawn; //initialize enemy data ChaserUpgrade = new EnemyUpgrade(ChaserHealthInitial, ChaserVelocityInitial, ChaserDamageInitial, ChaserAttackRateInitial); BouncerUpgrade = new EnemyUpgrade(BouncerHealthInitial, BouncerVelocityInitial, BouncerDamageInitial, BouncerAttackRateInitial); ChargerUpgrade = new EnemyUpgrade(ChargerHealthInitial, ChargerVelocityInitial, ChargerDamageInitial, ChargerAttackRateInitial); SniperUpgrade = new EnemyUpgrade(SniperHealthInitial, SniperVelocityInitial, SniperDamageInitial, SniperAttackRateInitial); HealerUpgrade = new EnemyUpgrade(HealerHealthInitial, HealerVelocityInitial, HealerDamageInitial, HealerAttackRateInitial); SpawnerUpgrade = new EnemyUpgrade(SpawnerHealthInitial, SpawnerVelocityInitial, SpawnerDamageInitial, SpawnerAttackRateInitial); BossUpgrade = new EnemyUpgrade(BossHealthInitial, BossVelocityInitial, BossDamageInitial, BossAttackRateInitial); //} }