示例#1
0
    private string getStateLabel(FSMAI aiScript)
    {
        string curState;

        switch (aiScript.state)
        {
        case AIState.IDLE:
            curState = "IDLE";
            break;

        case AIState.CHASING:
            curState = "CHASING";
            break;

        case AIState.ATTACK:
            curState = "ATTACK";
            break;

        case AIState.WANDERING:
            curState = "WANDERING";
            break;

        default:
            curState = "UNDEFINED";
            break;
        }

        return(curState);
    }
示例#2
0
    // Use this for initialization
    void Start()
    {
        agentGUI1 = new Rect(10, 10, 150, 200);
        agentGUI2 = new Rect(Screen.width - 150, 10, 150, 200);

        statePos  = new Rect(0, 0, 150, 20);
        healthPos = new Rect(0, 20, 150, 20);

        agent1 = GameObject.Find("Agent Smith").GetComponent <FSMAI>();
        agent2 = GameObject.Find("Agent Jones").GetComponent <FSMAI>();
    }
示例#3
0
 // Update is called once per frame
 void Update()
 {
     if (Input.GetButtonDown("Fire1"))
     {
         RaycastHit hit;
         Vector3    fwd = transform.TransformDirection(Vector3.forward);
         if (Physics.Raycast(transform.position, fwd, out hit))
         {
             Distance = hit.distance;
             if (Distance < MaxDistance)
             {
                 if (hit.transform.gameObject.tag == "cow" || hit.transform.gameObject.tag == "goat" || hit.transform.gameObject.tag == "chicken" || hit.transform.gameObject.tag == "sheep")
                 {
                     FSMAI enemyScript = hit.transform.GetComponent <FSMAI>();
                     enemyScript.TakeDamage(Damage);
                 }
                 else if (hit.transform.gameObject.tag == "babyCow")
                 {
                     babyCowAI babycowScript = hit.transform.GetComponent <babyCowAI>();
                     babycowScript.TakeDamage(Damage);
                 }
                 else if (hit.transform.gameObject.tag == "Bull")
                 {
                     BullAI BullScript = hit.transform.GetComponent <BullAI>();
                     BullScript.TakeDamage(Damage);
                 }
                 else if (hit.transform.gameObject.tag == "Ram")
                 {
                     RamAI RamScript = hit.transform.GetComponent <RamAI>();
                     RamScript.TakeDamage(Damage);
                 }
                 else if (hit.transform.gameObject.tag == "Cockrill")
                 {
                     RamAI RamScript = hit.transform.GetComponent <RamAI>();
                     RamScript.TakeDamage(Damage);
                 }
             }
         }
     }
 }