Exemplo n.º 1
0
 void Start()
 {
     _baseEnemyCount  = gameControlls.GetBaseEnemyCount;
     _baseTimeToSpawn = gameControlls.GetTimeSpawn;
     _timeToSpawn     = _baseTimeToSpawn;
     _enemyUpgrade    = GetComponent <EnemyUpgrade>();
 }
Exemplo n.º 2
0
 public void ApplyUpgrade(EnemyUpgrade upgrade)
 {
     this.Health = upgrade.Health;
     this.Velocity = upgrade.Velocity;
     this.Damage = upgrade.Damage;
     this.AttackRate = upgrade.AttackRate;
     this.HasBeenUpgraded = true;
 }
Exemplo n.º 3
0
    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;
    }
Exemplo n.º 4
0
    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;
                }

            }
        }
    }
Exemplo n.º 5
0
 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);
 }
Exemplo n.º 7
0
    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);
        //}
    }