コード例 #1
0
        /// <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);
            }
        }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
ファイル: InteractablePath.cs プロジェクト: cfox/seedQuest
 /// <summary> Initialize Next Interactable with Hightlights and Setup PreviewUI </summary>
 static public void InitializeNextInteractable()
 {
     if (GameManager.Mode == GameMode.Rehearsal)
     {
         InteractableManager.UnHighlightAllInteractables();
         NextInteractable.HighlightInteractableDynamically(true);
         InteractablePreviewUI.SetPreviewObject(NextInteractable);
     }
 }
コード例 #4
0
ファイル: InteractableUI.cs プロジェクト: cfox/seedQuest
        /// <summary> Show Action Button UI and Set Checkmark for Rehearsal Mode for ListSelect and GridSelect UI  </summary>
        public void showCurrentActions()
        {
            InteractableManager.hideAllInteractableUI();
            showActions();
            SetCheckImageActive();

            string label = GetText();

            InteractableManager.resetInteractableUIText();
            SetText(label);
        }
コード例 #5
0
        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;
                }
            }
        }
コード例 #6
0
ファイル: InteractableUI.cs プロジェクト: cfox/seedQuest
 /// <summary> Handles hovering over UI </summary>
 public void onHoverUI()
 {
     GameManager.State = GameState.Interact;
     showCurrentActions();
     InteractableManager.SetActiveInteractable(parent);
 }