/// <summary> Handles Clicking a Checkmark Button </summary> public void onClickCheck() { SetCheckButtonActive(false); if (GameManager.Mode == GameMode.Rehearsal && parent == InteractablePath.NextInteractable && parent.ActionIndex == InteractablePath.NextAction) { InteractableManager.SetActiveInteractable(parent, parent.ActionIndex); progressButton.checkmarkAnimate(); InteractableLog.Add(parent, parent.ActionIndex); InteractablePath.GoToNextInteractable(); if (mode == InteractableUIMode.NextPrevSelect) { progressButton.SetActive(false); } } else if (GameManager.Mode == GameMode.Rehearsal) { progressButton.exAnimate(); } else if (GameManager.Mode == GameMode.Recall) { progressButton.checkmarkAnimate(); InteractableLog.Add(parent, parent.ActionIndex); } }
/// <summary> Handles Clicking an Action Button </summary> public void ClickActionButton(int actionIndex) { parent.DoAction(actionIndex); if (mode == InteractableUIMode.GridSelect || mode == InteractableUIMode.ListSelect) { hideActions(); } else if (mode == InteractableUIMode.Dialogue) { actionButtons[5].transform.GetComponentInChildren <TMPro.TextMeshProUGUI>().text = actionButtons[actionIndex].GetComponentInChildren <TMPro.TextMeshProUGUI>().text; dialogueSelected = true; hideActions(); } if (GameManager.Mode == GameMode.Rehearsal) { if (actionIndex == InteractablePath.NextInteractable.ID.actionID) { InteractableManager.SetActiveInteractable(parent, parent.ActionIndex); InteractableLog.Add(parent, parent.ActionIndex); InteractablePath.GoToNextInteractable(); } } else if (GameManager.Mode == GameMode.Recall) { InteractableLog.Add(parent, parent.ActionIndex); } }
public void HoverOnInteractable() { if (PauseManager.isPaused == true) { return; } Camera c = Camera.main; RaycastHit hit; Ray ray = c.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, out hit, 100.0f)) { bool hitThisInteractable = hit.transform.GetInstanceID() == transform.GetInstanceID(); if (hitThisInteractable) { interactableUI.showCurrentActions(); if (!isOnHover) { GameManager.State = GameState.Interact; InteractableManager.SetActiveInteractable(this); } isOnHover = true; } else { if (isOnHover) { GameManager.State = GameState.Play; } isOnHover = false; } } }
/// <summary> Handles hovering over UI </summary> public void onHoverUI() { GameManager.State = GameState.Interact; showCurrentActions(); InteractableManager.SetActiveInteractable(parent); }