Example #1
0
 public override void Attack(TD_Enemy e)
 {
     // Enable the line
     line.enabled = true;
     // Deal damage to enemy
     e.Damage(damage);
     //
 }
Example #2
0
 public override void Aim(TD_Enemy e)
 {
     // Get orb to look at enemy
     orb.LookAt(e.transform);
     // Create line from orb to enemy
     line.SetPosition(0, muzzle.position);
     line.SetPosition(1, e.transform.position);
 }
Example #3
0
    public void KillEnemy(TD_Enemy arg_enemy)
    {
        int currency_gained = (int)arg_enemy.Type.Type;

        money_ += 10 * currency_gained;
        list_enemies_.Remove(arg_enemy);
        list_enemies_.TrimExcess();
        Destroy(arg_enemy.transform.root.gameObject);
    }
Example #4
0
    void Fire()
    {
        if (collided_objects_.Length <= 0)
        {
            return;
        }
        if (collided_objects_[0] == null)
        {
            return;
        }
        TD_Enemy target_ = collided_objects_[0].gameObject.GetComponentInParent <TD_Enemy>();

        if (!target_.isDead())
        {
            target_.Damage(damage_);
            Debug.Log(target_.GetHealth());
        }
    }
 void DetectEnemies()
 {
     // Reset current enemy
     currentEnemy = null;
     // Perform OverlapSphere and get the hits
     Collider[] hits = Physics.OverlapSphere(transform.position, attackRange);
     // Loop through everything we hit
     foreach (var hit in hits)
     {
         // If the thing we hit is an enemy
         TD_Enemy enemy = hit.GetComponent <TD_Enemy>();
         if (enemy)
         {
             // Set current enemy to that one
             currentEnemy = enemy;
         }
     }
 }
Example #6
0
    public void SpawnEnemy()
    {
        if (enemies_spawned_ >= enemies_to_spawn_)
        {
            CancelInvoke("SpawnEnemy");
            enemies_spawned_ = 0;
            return;
        }

        enemies_spawned_++;

        TD_Enemy temp        = Instantiate(prefab_enemy_, new Vector3(map_.spawn_points_[0].transform.position.x, 0.0f, map_.spawn_points_[0].transform.position.z), Quaternion.identity);
        int      chosen_type = Random.Range(1, 4);

        temp.Type = enemy_factory_.Get((EnemyType)(chosen_type));
        switch (chosen_type)
        {
        case (int)(EnemyType.DEFAULT):
        {
            temp.list_path_ = list_path_default_;
            break;
        }

        case (int)(EnemyType.FLYING):
        {
            //flying enemies will fly to directly to dest
            temp.list_path_.Add(map_.destination_);
            break;
        }

        case (int)(EnemyType.HOVERING):
        {
            temp.list_path_ = list_path_hovering_;
            break;
        }
        }
        list_enemies_.Add(temp);
    }
Example #7
0
 public void DespawnEnemy(TD_Enemy arg_enemy)
 {
     list_enemies_.Remove(arg_enemy);
     list_enemies_.TrimExcess();
     Destroy(arg_enemy.transform.root.gameObject);
 }
 public virtual void Attack(TD_Enemy e)
 {
 }
 public virtual void Aim(TD_Enemy e)
 {
 }