コード例 #1
0
 private void OnTriggerExit2D(Collider2D collision)
 {
     if (collision.CompareTag("Interactable"))
     {
         IInteractable2D interactable = collision.GetComponent <IInteractable2D>();
         interactables.Remove(interactable);
         interactable.OnEndFocus(this);
     }
 }
コード例 #2
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.CompareTag("Interactable"))
     {
         IInteractable2D interactable = collision.GetComponent <IInteractable2D>();
         interactables.Add(interactable);
         interactable.OnBeginFocus(this);
     }
 }
コード例 #3
0
        void StartInteract(IInteractable2D interactable)
        {
            currentInteractTime = 0;

            if (currentInteractable != null)
            {
                CancelInteract();
            }

            currentInteractable = interactable;

            interactable.OnStartInteract(this);
            if (interactable.InteractionTime <= 0)
            {
                FinishInteract();
                return;
            }
            interactables.Remove(interactable);
        }
コード例 #4
0
 void CancelInteract()
 {
     currentInteractable.OnCancelInteract(this);
     interactables.Add(currentInteractable);
     currentInteractable = null;
 }
コード例 #5
0
 void FinishInteract()
 {
     currentInteractable.OnFinishInteract(this);
     currentInteractable = null;
 }