Exemplo n.º 1
0
    void Update()
    {
        //transform.LookAt(target);
        try // sets acceleration values depending on selected mass of the player
        {
            switch (mass)
            {
            case 1:
                if (this.gameObject.name == "StrongAI(Clone)")
                {
                    agent.acceleration = Random.Range(7.5f, 14f);
                }
                else if (this.gameObject.name == "WeakAI(Clone)")
                {
                    agent.acceleration = Random.Range(5, 14f);
                }
                break;

            case 2:
                if (this.gameObject.name == "StrongAI(Clone)")
                {
                    agent.acceleration = Random.Range(5f, 12f);
                }
                else if (this.gameObject.name == "WeakAI(Clone)")
                {
                    agent.acceleration = Random.Range(2.5f, 12f);
                }
                break;

            case 3:
                if (this.gameObject.name == "StrongAI(Clone)")
                {
                    agent.acceleration = Random.Range(4f, 10f);
                }
                else if (this.gameObject.name == "WeakAI(Clone)")
                {
                    agent.acceleration = Random.Range(2.5f, 10f);
                }
                break;
            }
            agent.SetDestination(target.position); // if the target can move
        }
        catch (UnassignedReferenceException) { }
        //Debug.Log((target.position - agent.transform.position).magnitude); // for debugging
        AIPowerUpPickup PP = (AIPowerUpPickup)GetComponent(typeof(AIPowerUpPickup));

        PP.FindPowerUps();
    }
Exemplo n.º 2
0
    // Handles visualisation of the AI power up arc
    void OnSceneGUI()
    {
        AIPowerUpPickup pp = (AIPowerUpPickup)target;

        Handles.color = Color.white;
        Handles.DrawWireArc(pp.transform.position, Vector3.up, Vector3.forward, 360, pp.radius);
        Vector3 viewAngleA = pp.DirFromAngle(-pp.angle / 2, false);
        Vector3 viewAngleB = pp.DirFromAngle(pp.angle / 2, false);

        Handles.DrawLine(pp.transform.position, pp.transform.position + viewAngleA * pp.radius);
        Handles.DrawLine(pp.transform.position, pp.transform.position + viewAngleB * pp.radius);

        Handles.color = Color.red;
        foreach (Transform validPower in pp.PowerUps)
        {
            Handles.DrawLine(pp.transform.position, validPower.position);
        }
    }