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; } } } }
void EndInteract() { interactionProgress = 0; interactionState = e_InteractionState.None; }