コード例 #1
0
ファイル: EnemyAI.cs プロジェクト: HypeCounter/Forsaken
        void Update()
        {
            distanceToPlayer = Vector3.Distance(player.transform.position, transform.position);
            WeaponSystem weaponSystem = GetComponent <WeaponSystem>();

            currentWeaponRange = weaponSystem.GetCurrentWeapon().GetMaxAttackRange();


            if (distanceToPlayer > chaseRadius && state != State.patrolling)
            {
                StopAllCoroutines();
                weaponSystem.StopAttacking();
                StartCoroutine(Patrol());
            }
            if (distanceToPlayer <= chaseRadius && state != State.chasing)
            {
                StopAllCoroutines();
                weaponSystem.StopAttacking();
                StartCoroutine(ChasePlayer());
            }
            if (distanceToPlayer <= currentWeaponRange && state != State.attacking)
            {
                StopAllCoroutines();


                weaponSystem.AttackTarget(player.gameObject);
            }
        }
コード例 #2
0
 void OnMouseOverEnemy(EnemyAI enemy)
 {
     {
         if (Input.GetMouseButton(0) && IsTargetInRange(enemy.gameObject))
         {
             weaponSystem.AttackTarget(enemy.gameObject);
         }
         else if (Input.GetMouseButton(0) && !IsTargetInRange(enemy.gameObject))
         {
             StartCoroutine(MoveAnAttack(enemy));
             //atacar
         }
         else if (Input.GetMouseButtonDown(1) && IsTargetInRange(enemy.gameObject))
         {
             abilities.AttemptSpecialAbility(0, enemy.gameObject);
         }
         else if (Input.GetMouseButtonDown(1) && !IsTargetInRange(enemy.gameObject))
         {
             StartCoroutine(MoveAnSmite(enemy));
         }
     }
 }