Ejemplo n.º 1
0
 void UpdateHead()
 {
     if (heldObject == null)
     {
         Grabbable g = GetBestObjectAtRange();
         if (g != null)
         {
             look.FocusOn(g.transform);
         }
         else if (look.isFocused)
         {
             look.LooseFocus();
         }
     }
 }
Ejemplo n.º 2
0
    void StateUpdate()
    {
        if (stun)
        {
            return;
        }

        CleanSeenItem();
        switch (state)
        {
        case HumanState.Walking:
            ScanRacoons();
            break;

        case HumanState.Chasing:
            agent.destination = seenPlayer.transform.position;
            if (seenPlayer.GetHeldObject() == null)
            {
                if (seenItem != null)
                {
                    look.FocusOn(seenItem.transform);
                    ChangeState(HumanState.Collecting);
                }
                else
                {
                    ChangeState(HumanState.Walking);
                }
            }
            else
            {
                if (IsObjectInRange(seenPlayer.gameObject) && !seenPlayer.IsInvincible())
                {
                    HangRaccoon();

                    // Effects
                    look.LooseFocus();
                    ear.enabled = false;
                    CameraController.instance.FocusOn(headBone, 30f);
                    // System
                    ChangeState(HumanState.Walking);
                    GameManager.instance.GameOver();
                }
            }
            break;

        case HumanState.Collecting:
            if (agent.velocity.magnitude > 0.01f)
            {
                agent.destination = seenItem.transform.position;
                if (IsObjectInRange(seenItem.gameObject) && !seenItem.IsFlying())
                {
                    StartCoroutine(PickUp(seenItem.gameObject));
                }
            }
            else
            {
                ChangeState(HumanState.Walking);
            }
            break;
        }
    }