示例#1
0
 void OnTriggerExit(Collider other)
 {
     //プレイヤーを見失ったら
     if (other.gameObject.tag == "Player")
     {
         _state = POLICE_ROBOT_STATE.RETURN; //戻る
         FindObjectOfType <StopRobot> ()._state   = StopRobot.STOP_ROBOT_STATE.RETURN;
         FindObjectOfType <PatrolRobot> ()._state = PatrolRobot.PATROL_ROBOT_STATE.RETURN;
         Debug.Log("ちっ、見失ったか");
     }
 }
示例#2
0
    void OnTriggerEnter(Collider other)
    {
        //プレイヤーを発見したら
        if (other.gameObject.tag == "Player")
        {
            _state = POLICE_ROBOT_STATE.CHASE;  //追う
            FindObjectOfType <StopRobot> ()._state = StopRobot.STOP_ROBOT_STATE.CHASE;

            FindObjectOfType <PatrolRobot> ()._state = PatrolRobot.PATROL_ROBOT_STATE.CHASE;
            Debug.Log("止まれ!!逃がすな!");
        }
    }
示例#3
0
    // Update is called once per frame
    void Update()
    {
        switch (_state)
        {
        case POLICE_ROBOT_STATE.LOOKOUT:      //見張り
            break;

        case POLICE_ROBOT_STATE.CHASE:        //追う
            _agent.SetDestination(_tarPos.transform.position);
            break;

        case POLICE_ROBOT_STATE.RETURN:       //戻る
            _agent.SetDestination(_prePos.transform.position);

            //見張りの場所に戻ったら
            if (transform.localPosition.x == _prePos.transform.localPosition.x)
            {
                _state = POLICE_ROBOT_STATE.LOOKOUT;
                Initialization();
            }
            break;
        }
    }
示例#4
0
    [SerializeField] private Transform _prePos; //元の場所

    // Use this for initialization
    void Start()
    {
        _agent = GetComponent <NavMeshAgent> ();
        _state = POLICE_ROBOT_STATE.LOOKOUT;
    }