Exemplo n.º 1
0
    private void Update()
    {
        if (curInteractable == null || EnemyLocked != null)
        {
            EndInteract();
            return;
        }

        if (C.Interact && CanInteract)
        {
            interactionState = e_InteractionState.Interacting;
        }
        if (C.StopInteract)
        {
            EndInteract();
        }

        if (interactionState == e_InteractionState.Interacting)
        {
            interactionProgress += C.InteractAxis;

            if (interactionProgress < -10)
            {
                if (CurrentInteractable.CanInteractBackward)
                {
                    EndInteract();
                    curInteractable.Interact(gameObject, false);
                }
                else
                {
                    interactionProgress = -10;
                }
            }
            else if (interactionProgress > 10)
            {
                if (CurrentInteractable.CanInteractForward)
                {
                    EndInteract();
                    curInteractable.Interact(gameObject, true);
                }
                else
                {
                    interactionProgress = 10;
                }
            }
        }
    }
Exemplo n.º 2
0
 void EndInteract()
 {
     interactionProgress = 0;
     interactionState    = e_InteractionState.None;
 }