Esempio n. 1
0
    private void GetStuck(Collider other)
    {
        StandardEnemy enemy = null;

        launched       = false;
        rb.isKinematic = true;
        stuckInWall    = true;
        SetAllowPickup(true);
        transform.SetParent(other.transform);
        GetComponentInChildren <ParticleSystem>().gameObject.SetActive(false);
        if (other.gameObject.tag.Contains("Enemy"))
        {
            enemy = other.gameObject.GetComponentInParent <StandardEnemy>();
        }
        switch (other.gameObject.tag)
        {
        case "EnemyHead":
            enemy.TakeDamage(enemy.GetMaxHealth());
            Debug.Log("HeadShot");
            break;

        case "EnemyBody":
            enemy.TakeDamage(enemy.GetMaxHealth() / 3);
            Debug.Log("Body Hit");
            break;

        case "EnemyLimb":
            enemy.TakeDamage(enemy.GetMaxHealth() / 9);
            Debug.Log("Limb Hit");
            break;
        }
    }
Esempio n. 2
0
 private void OnTriggerExit(Collider other)
 {
     Debug.Log("Trigger Exit " + other.tag);
     if (other.tag.Contains("Enemy"))
     {
         StandardEnemy se = other.transform.parent.GetComponent <StandardEnemy>();
         se.mainTowerAttack = false;
     }
 }
Esempio n. 3
0
 private void OnTriggerEnter(Collider other)
 {
     Debug.Log("Trigger Enter " + other.tag);
     if (other.tag.Contains("Enemy"))
     {
         enemies.Add(other.transform.parent.gameObject);
         StandardEnemy se = other.transform.parent.GetComponent <StandardEnemy>();
         se.mainTowerAttack = true;
     }
 }
Esempio n. 4
0
    void SpawnEnemy()
    {
        GameObject    enemy       = GameObject.Instantiate(enemyPrefab, spawnLocation, new Quaternion(0, 0, 0, 0));
        StandardEnemy enemyScript = enemy.GetComponent <StandardEnemy>();

        enemyScript.SetLevel(1, enemy.GetComponent <StandardEnemy>().GetNavMeshAgent(), true);
        enemy.name = "IntroSceneEnemy";
        enemies.Add(enemy);
        StartCoroutine(enemyScript.TurnOnNavMeshAgent());
        DebugLog("Enemy Spawned", consoleLogs);
        enemySpawned = true;
        StartCoroutine(Story());
    }
Esempio n. 5
0
 IEnumerator SpawnEnemies()
 {
     for (int i = 0; i < enemiesCount; i++)
     {
         System.Random rnd   = new System.Random();
         int           level = 1;
         if ((waveNr / 2 * enemyLevelMultiply) > 1)
         {
             level = rnd.Next(1, (int)(waveNr / 2 * enemyLevelMultiply));
         }
         //Debug.Log(spawnLocations[rnd.Next(0, spawnLocations.Count - 1)]);
         GameObject    enemy       = GameObject.Instantiate(enemyPrefab, spawnLocations[rnd.Next(0, spawnLocations.Count - 1)], new Quaternion(0, 0, 0, 0));
         StandardEnemy enemyScript = enemy.GetComponent <StandardEnemy>();
         enemyScript.SetLevel(level, enemy.GetComponent <StandardEnemy>().GetNavMeshAgent(), false);
         enemy.name = "Enemy[" + i + "]";
         enemies.Add(enemy);
         StartCoroutine(enemyScript.TurnOnNavMeshAgent());
         yield return(new WaitForSeconds(1f));
     }
     waveInitialized = true;
 }
Esempio n. 6
0
 public override int GetSpecificsDamages(StandardEnemy e)
 {
     return((int)(1 * this.BaseDamage));
 }
Esempio n. 7
0
 /**
  * Chaque objet Bullet inflige des dégâts spécifiques selon les types
  * d'ennemis touchés.
  *
  * */
 public abstract int GetSpecificsDamages(StandardEnemy e);
Esempio n. 8
0
 public void Play()
 {
     StandardEnemy.ToggleAI(true);
     Player.instance.TogglePlayerInteraction(true);
 }
Esempio n. 9
0
 public void Pause()
 {
     StandardEnemy.ToggleAI(false);
     Player.instance.TogglePlayerInteraction(false);
 }