using UnityEngine; using UnityEngine.UI; public class ScreenManager : MonoBehaviour { public GenericPlayerManager playerManager; public GameObject infoScreen; public GameObject translateScreen; public GameObject dictScreen; public GameObject tutorialScreen; public SwitchImageAttribute textButtonImage; public SwitchImageAttribute dictButtonImage; public SwitchImageAttribute infoButtonImage; public void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { if (infoScreen.activeSelf) { infoScreen.SetActive(false); infoButtonImage.switchAttribute(false); } else if (translateScreen.activeSelf) { translateScreen.SetActive(false); textButtonImage.switchAttribute(false); } else if (dictScreen.activeSelf) { dictScreen.SetActive(false); dictButtonImage.switchAttribute(false); } else if (tutorialScreen.activeSelf) { tutorialScreen.SetActive(false); } else { Application.Quit(); } } } public void hideScreen() { playerManager.getRandomAnimations().play(); if (infoScreen.activeSelf) { infoScreen.SetActive(false); infoButtonImage.switchAttribute(false); } if (translateScreen.activeSelf) { translateScreen.SetActive(false); textButtonImage.switchAttribute(false); } if (dictScreen.activeSelf) { dictScreen.SetActive(false); dictButtonImage.switchAttribute(false); } if (tutorialScreen.activeSelf) { tutorialScreen.SetActive(false); } } public void switchScreen(GameObject screen) { bool active = screen.activeSelf; hideScreen(); if (active) return; screen.SetActive(true); playerManager.stopAll(); playerManager.getRandomAnimations().stop(); if (screen == infoScreen) infoButtonImage.switchAttribute(true); if (screen == translateScreen) textButtonImage.switchAttribute(true); if (screen == dictScreen) dictButtonImage.switchAttribute(true); } }