示例#1
0
 //private Enemy defaultEnemy;
 //Start function sets enemytype for the script so that the right variables are changed
 void Start()
 {
     if (enemyName == "Kamikaze")
     {
         flyingKam = new KamikazeEnemy(kamikazeMaxHP, (int)kamikazeMovementSpeed, kamikazeDefense, gameObject, (int)kamikazeIQ);
         Enemy.enemyList.Add(flyingKam);
         type          = EnemyType.FlyingKamikaze;
         defaultEnemy  = flyingKam;
         defaultBroken = brokenKamikaze;
         Debug.Log("Instantiated flying kamikaze");
     }
     else if (enemyName == "Golem")
     {
         golem = new Golem(golemMaxHp, (int)golemMovementSpeed, golemDefense, gameObject, golemProjectileSpeed, golemChargeSpeed, golemKnockbackDmg, golemGroundPoundDmg, golemProjectileDmg);
         Enemy.enemyList.Add(golem);
         type          = EnemyType.Brawler;
         defaultEnemy  = golem;
         defaultBroken = brokenGolem;
         Debug.Log("Instantiated golem");
     }
     else if (enemyName == "IRTower")
     {
         IREnemy = new IrradiatedEnemies(IRMaxHp, (int)IRMovementSpeed, IRDefense, gameObject, IRRadiusAffect, IRSpeedBuff, IRMaxHpBuff, IRAttackBuff, IRPlayerAttackDebuff, IRPlayerSpeedDebuff);
         Enemy.enemyList.Add(IREnemy);
         type          = EnemyType.IrradiatedEnemy;
         defaultEnemy  = IREnemy;
         defaultBroken = null;
         Debug.Log("Instantiated IR enemy");
     }
     else if (enemyName == "Shly")
     {
         shly = new ShlyEnemy(shlyMaxHp, (int)shlyMovementSpeed, shlyDefense, (int)aggregateNumberofShlies, bullChargeSpeed, speedDebuffProportion, this.gameObject, pelletDamage, bullChargeDamage);
         Enemy.enemyList.Add(shly);
         ShlyEnemy.shlyList.Add(shly);
         type          = EnemyType.Shly;
         defaultEnemy  = shly;
         defaultBroken = brokenShly;
         Debug.Log("Instantiated shly object");
     }
     else if (enemyName == "Shrab")
     {
         shrab = new Shrab(shrabMaxHp, (int)shrabMovementSpeed, shrabDefense, gameObject, shrabPincerDmg, shrabEruptionRadius, aggregateNumberofShrabs);
         Enemy.enemyList.Add(shrab);
         Shrab.shrabList.Add(shrab);
         type          = EnemyType.Shrab;
         defaultEnemy  = shrab;
         defaultBroken = brokenShrab;
         Debug.Log("Instantiated shrab object");
     }
     else if (enemyName == "Starship")
     {
         ship = new Starship(starshipMaxHp, (int)starshipMovementSpeed, starshipDefense, gameObject, IRHealthSpawnStart, bombDamage, bombRadius, rayDamage, rayWidth, turretDamage);
         Enemy.enemyList.Add(ship);
         type          = EnemyType.Starship;
         defaultEnemy  = ship;
         defaultBroken = null;
     }
     //Change values in Enemy Behavior scripts to align with these values
 }
示例#2
0
    void SpawnEnemy(int i)
    {
        GameObject    newEnemy = Instantiate(EnemyPrefab, EnemySpawnPoints[i].position, Quaternion.identity) as GameObject;
        KamikazeEnemy script   = newEnemy.GetComponent <KamikazeEnemy>();

        int randomIndex = rand.Next(Destinations.Length);

        script.Init(Destinations[randomIndex].position);

        //AggroableEnemy character = Enemies[i].GetComponent<AggroableEnemy>();
        //character.OnDied += () => { StartCoroutine(RespawnEnemy(i)); };
        //character.OnCharacterSaved += AddStudent;
        //character.OnCharacterSaved += UpdateHudStudents;
    }