示例#1
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        EnemyContoller akFish = other.GetComponent <EnemyContoller>();

        if (akFish != null)
        {
            akFish.BeCoiled();
            Destroy(this.gameObject);
        }
        Debug.Log("触手缠绕");
    }
示例#2
0
 void Awake()
 {
     if (check_zombie)
     {
         enemy_animation_controller = GetComponent <EnemyAnimationController>();
         nav_mesh_agent             = GetComponent <NavMeshAgent>();
         enemy_controller           = GetComponent <EnemyContoller>();
         // get enemy audio
         enemy_sound = GetComponentInChildren <EnemySound>();
     }
     if (check_player)
     {
         weapon_controller = GetComponent <WeaponController>();
         player_statistics = GetComponent <PlayerStatistics>();
         if (PlayerPrefs.GetFloat("playerhealth") > 0)
         {
             health_value = PlayerPrefs.GetFloat("playerhealth");
             player_statistics.View_Health_Statistics(health_value);
         }
     }
 }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown("r"))
        {
            Time.timeScale = 1;
            SceneManager.LoadScene(SceneManager.GetActiveScene().name);
        }
        enemyTimer -= Time.deltaTime;

        if (enemyTimer <= 0 && hero != null)
        {
            enemyTimer = enemySpawnInterval;

            float spawnAngle = Random.Range(0, 360);

            GameObject enemyObject = GameObject.Instantiate <GameObject>(enemyPrefab);
            enemyObject.transform.position = new Vector3
                                             (
                hero.transform.position.x + Mathf.Cos(spawnAngle) * enemySpawnDistance,
                hero.transform.position.y,
                hero.transform.position.z + Mathf.Sin(spawnAngle) * enemySpawnDistance
                                             );

            EnemyContoller enemy = enemyObject.transform.GetComponent <EnemyContoller>();
            enemy.chaseDirection = (hero.transform.position - enemy.transform.position).normalized;

            enemy.onDestroyed = () =>
            {
                score        += 100;
                infoText.text = "Score: " + score.ToString();
            };

            enemy.onHitPlayer = () =>
            {
                infoText.text = "Game Over! Press R to Restart";

                Time.timeScale = 0;
            };
        }
    }