GetTarget() public method

public GetTarget ( ) : GameObject
return GameObject
コード例 #1
0
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (_enemy == null)
        {
            return;
        }
        if (_enemy.GetTarget() == null)
        {
            _enemy.FindNearestEnemy();
            return;
        }
        _enemy.RotateToTarget(animator.transform, _enemy.GetTarget());
        if (Time.time >= _nextTimeToFire)
        {
            _nextTimeToFire = Time.time + 1f / _enemy.GetFireRate();
            _enemy.Shoot();
        }

        if (Vector3.Distance(_enemy.GetTarget().transform.position, animator.transform.position) <=
            _enemy.GetPanicDistance())
        {
            _enemy.Follow(-_enemy.GetSpeed(), _enemy.GetTarget());
        }
        else if (Vector3.Distance(_enemy.GetTarget().transform.position, animator.transform.position) >
                 _enemy.GetPanicDistance())
        {
            _enemy.GetAgent().enabled = true;
            animator.SetBool("Panic", false);
        }
    }
コード例 #2
0
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (_bot == null)
        {
            return;
        }
        if (_bot.GetTarget() == null)
        {
            _bot.FindNearestEnemy();
        }

        if (_bot.GetMainTarget() != null)
        {
            _bot.GetAgent()?.SetDestination(_bot.GetMainTarget().transform.position);
            if (_bot.GetTarget() == null)
            {
                _bot.RotateToTarget(animator.transform, _bot.GetMainTarget());
            }
            else
            {
                _bot.RotateToTarget(animator.transform, _bot.GetTarget());
            }
            if (_bot.GetTarget() != null && Time.time >= _nextTimeToFire && _bot.CanShoot())
            {
                _nextTimeToFire = Time.time + 1f / _bot.GetFireRate();
                _bot.Shoot();
            }
        }

        if (Input.GetKeyDown(KeyCode.R))
        {
            animator.SetBool("IsRushing", false);
        }
    }
コード例 #3
0
ファイル: EnemyFollow.cs プロジェクト: shark2302/Shooter
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (_enemy == null)
     {
         return;
     }
     if (_enemy.GetTarget() == null)
     {
         _enemy.FindNearestEnemy();
         return;
     }
     _enemy.RotateToTarget(animator.transform, _enemy.GetTarget());
     if ((Vector3.Distance(_enemy.GetTarget().transform.position, animator.transform.position) >
          _enemy.GetRange() || !_enemy.CanShoot()) && _enemy.GetAgent().enabled)
     {
         if (_enemy.GetAgent() != null)
         {
             _enemy.GetAgent().speed = _enemy.GetSpeed();
         }
         _enemy.GetAgent()?.SetDestination(_enemy.GetTarget().transform.position);
     }
     else
     {
         animator.SetBool("InRange", true);
     }
 }
コード例 #4
0
    // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (owner.distancefromTarget() > owner.targetdistance)
        {
            animator.SetTrigger("Patrol");
            //  animator.SetTrigger("Chase");
        }

        var target     = (Vector3)owner.GetTarget().position;
        var currentpos = (Vector3)owner.transform.position;

        Debug.DrawLine(currentpos, target, Color.red);
        // Vector2 targetposition= Vector2.MoveTowards(currentpos, target, 1 * Time.deltaTime);
        Vector3 dirFromAtoB = (target - currentpos).normalized;

        Debug.Log(owner.name + " speed=" + owner.GetSpeed().GetValue());

        float isfacing = Vector3.Dot(dirFromAtoB, owner.transform.right);

        Vector3 targetposition = currentpos + ((dirFromAtoB * .1f));// *Time.deltaTime);

        targetposition.y = startpos.y;
        Debug.Log(owner.name + ":is facing val= " + isfacing);
        if (isfacing < 0)
        {
            owner.transform.Rotate(0, 180, 0);
        }

        targetposition.z         = currentpos.z;
        owner.transform.position = targetposition;
    }
コード例 #5
0
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (_bot == null)
        {
            return;
        }
        if (_bot.GetTarget() == null)
        {
            _bot.FindNearestEnemy();
        }

        if (_bot.GetPlayer() != null)
        {
            if (Vector3.Distance(_bot.GetPlayer().transform.position, animator.transform.position) >
                7)
            {
                _bot.GetAgent().SetDestination(_bot.GetPlayer().transform.position);
            }
            else
            {
                _bot.GetAgent().SetDestination(animator.transform.position);
            }
        }

        if (_bot.GetTarget() != null)
        {
            _bot.RotateToTarget(animator.transform, _bot.GetTarget());
            if (Time.time >= _nextTimeToFire && _bot.CanShoot())
            {
                _nextTimeToFire = Time.time + 1f / _bot.GetFireRate();
                _bot.Shoot();
            }
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (_bot.GetPlayer() != null)
            {
                _bot.GetAgent().SetDestination(_bot.GetPlayer().transform.position);
            }
            animator.SetBool("IsFollowing", false);
        }
    }
コード例 #6
0
 // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
 override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
 {
     if (_enemy == null)
     {
         return;
     }
     _enemy.FindNearestEnemy();
     if (_enemy.GetTarget() != null && _enemy.GetRange() != 0)
     {
         animator.SetBool("IsFollowing", true);
     }
 }
コード例 #7
0
ファイル: IdleBehaviour.cs プロジェクト: shark2302/Shooter
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (_bot == null)
        {
            return;
        }
        if (Input.GetKeyDown(KeyCode.Space))
        {
            _bot.FindNearestEnemy();
            animator.SetBool("IsFollowing", true);
        }
        else if (Input.GetKeyDown(KeyCode.R))
        {
            _bot.FindNearestEnemy();
            animator.SetBool("IsRushing", true);
        }
        else if (Input.GetKeyDown(KeyCode.P))
        {
            _bot.FindNearestEnemy();
            animator.SetBool("IsPatroling", true);
        }

        if (_bot.GetTarget() == null)
        {
            _bot.FindNearestEnemy();
        }
        if (_bot.GetTarget() != null)
        {
            _bot.RotateToTarget(animator.transform, _bot.GetTarget());
            if (Time.time >= _nextTimeToFire && _bot.CanShoot())
            {
                _nextTimeToFire = Time.time + 1f / _bot.GetFireRate();
                _bot.Shoot();
            }
        }
    }
コード例 #8
0
ファイル: Patrol.cs プロジェクト: shark2302/Shooter
    override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
    {
        if (_bot == null)
        {
            return;
        }
        if (_bot.GetTarget() == null)
        {
            _bot.FindNearestEnemy();
        }
        _bot.GetAgent()?.SetDestination(_curSpot);
        if (Vector3.Distance(animator.transform.position, _curSpot) < 0.5f || waitTime < 0)
        {
            _curSpot = _spots[Random.Range(0, _spots.Length - 1)];
            waitTime = 2;
        }

        waitTime -= Time.deltaTime;
        if (_bot.GetTarget() != null)
        {
            _bot.RotateToTarget(animator.transform, _bot.GetTarget());
            if (Time.time >= _nextTimeToFire && _bot.CanShoot())
            {
                _nextTimeToFire = Time.time + 1f / _bot.GetFireRate();
                _bot.Shoot();
            }
        }
        if (Input.GetKeyDown(KeyCode.P))
        {
            if (_bot.GetPlayer() != null)
            {
                _bot.GetAgent().SetDestination(_bot.GetPlayer().transform.position);
            }
            animator.SetBool("IsPatroling", false);
        }
    }
コード例 #9
0
    void OnCollisionEnter(Collision collision)
    {
        AI1   aiCharacter = collision.gameObject.GetComponent <AI1>();
        Enemy enemy       = collision.gameObject.GetComponent <Enemy>();

        if (aiCharacter && aiCharacter.GetTarget() == true && gameObject.tag == "F1") // if flag 1 hit by ai, assign flag to ai character.
        {
            transform.parent   = aiCharacter.transform;
            transform.position = new Vector3(aiCharacter.transform.position.x, aiCharacter.transform.position.y, aiCharacter.transform.position.z);
            //Object.Destroy(GetComponent<Rigidbody>());
        }

        if (enemy && enemy.GetTarget() == true && gameObject.tag == "F2") // if flag 2 hit by enemy, assign flag to enemy character.
        {
            transform.parent   = enemy.transform;
            transform.position = new Vector3(enemy.transform.position.x, enemy.transform.position.y, enemy.transform.position.z + 0.5f);
        }
    }