示例#1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        ControllerSpeed();

        float Angle = MathsFuns.calculateAngleThreePoint(transform.position, vRight.position, Goal.transform.position);

        if ((Angle < 85 && Angle > -85) || (Angle > 95))
        {
            ControllerSteer();
        }
    }
示例#2
0
    void ControllerSteer()
    {
        float angle = MathsFuns.calculateAngleThreePoint(transform.position, vRight.position, Goal.transform.position);

        if (angle <= 90)
        {
            target.setSteerInput(1);
        }
        else
        {
            target.setSteerInput(-1);
        }
    }
示例#3
0
    // Use this for initialization
    void Start()
    {
        indexEnemyGoal = -1;

        if (Enemy.Enemies.Count >= 0)
        {
            for (int i = 0; i < Enemy.Enemies.Count; i++)
            {
                float ang = MathsFuns.calculateAngleThreePoint(transform.position, transform.position + transform.forward, Enemy.Enemies [i].transform.position);

                if (Mathf.Abs(angMax) > Mathf.Abs(ang))
                {
                    indexEnemyGoal = i;
                    break;
                }
            }
        }

        StartCoroutine(WaitFuns.WaitAndDestroy(TimeToDestroyObjectIfDontTouch, gameObject));
    }