//====================================================================================================// public void OnButtonClick(Interactable interactable, Button button) { foreach (Button interactableButton in buttons) { if (interactableButton != button) { interactableButton.gameObject.GetComponent <Image>().sprite = settings.interactableIcon; } else { interactableButton.gameObject.GetComponent <Image>().sprite = settings.interactableIconSelected; } } AudioManager.Play("UI_Hover"); if (interactableTitle.text != interactable.Name) { interactable.ClickOnInteractable(); interactableTitle.text = interactable.Name; ToggleInteractableGroup(true); InteractablePreviewUI.SetPreviewObject(interactable, 0); for (int i = 0; i < 4; i++) { int temp = i; interactableButtons[i].gameObject.GetComponentInChildren <TMPro.TMP_Text>().text = interactable.stateData.getStateName(i); interactableButtons[i].gameObject.GetComponent <FastRecoveryButton>().Interactable = interactable; interactableButtons[i].gameObject.GetComponent <FastRecoveryButton>().ActionIndex = temp; if (GameManager.Mode == GameMode.Rehearsal) { if (InteractablePath.NextInteractable.ID == interactable.ID) { if (InteractablePath.NextAction == temp) { interactableButtons[i].gameObject.GetComponent <Animation>().Play(); /*ColorBlock colors = interactableButtons[i].colors; * colors.normalColor = new Color(189, 205, 217); * colors.highlightedColor = new Color(189, 205, 217); * interactableButtons[i].colors = colors;*/ } } } interactableButtons[i].onClick.AddListener(() => OnInteractableButtonClick(temp)); } } else { button.gameObject.GetComponent <Image>().sprite = settings.interactableIcon; InteractablePreviewUI.ClearPreviewObject(); startingTitleImage.gameObject.SetActive(false); ToggleInteractableGroup(false); for (int i = 0; i < 4; i++) { interactableButtons[i].onClick.RemoveAllListeners(); } } }
//====================================================================================================// public void Toggle(bool active) { if (!active) { ToggleInteractableGroup(false); for (int i = 0; i < 4; i++) { interactableButtons[i].onClick.RemoveAllListeners(); } foreach (Button button in buttons) { button.gameObject.GetComponent <Animation>().Stop(); button.gameObject.GetComponent <Image>().sprite = settings.interactableIcon; ColorBlock colors = button.gameObject.GetComponent <Button>().colors; colors.normalColor = Color.white; button.gameObject.GetComponent <Button>().colors = colors; } if (settings.useRenderTexture) { rawMap.transform.localPosition = new Vector3(0, 0, 0); if (settings.restrictViewport) { rawMap.rectTransform.sizeDelta = new Vector2(980, 980); slider.value = slider.minValue; } } else { map.transform.localPosition = new Vector3(0, 0, 0); if (settings.restrictViewport) { if ((980 / settings.source.bounds.size.y * settings.source.bounds.size.x) < 880f) { map.rectTransform.sizeDelta = new Vector2(880, 880 / settings.source.bounds.size.x * settings.source.bounds.size.y); } else { map.rectTransform.sizeDelta = new Vector2(980 / settings.source.bounds.size.y * settings.source.bounds.size.x, 980); } slider.value = slider.minValue; } else { map.rectTransform.sizeDelta = new Vector2(1000 / settings.source.bounds.size.y * settings.source.bounds.size.x, 1000); slider.value = 1000; } } InteractablePreviewUI.ClearPreviewObject(); } if (GameManager.Mode == GameMode.Recall && active && InteractablePreviewUI.Show) { InteractablePreviewUI.ToggleShow(); } else if (GameManager.Mode == GameMode.Rehearsal && active && InteractableLog.Count % 3 != 0) { InteractablePreviewUI.SetPreviewObject(InteractablePath.NextInteractable, InteractablePath.Instance.actionIds[InteractablePath.Instance.nextIndex]); InteractablePreviewUI.SetPreviewAction(InteractablePath.Instance.actionIds[InteractablePath.Instance.nextIndex]); } }