using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; public class MainScreensManager : MonoBehaviour { [Header("Toggles")] [SerializeField] private GameObject toggles; [SerializeField] private ChatManager chatManager; [SerializeField] private AnimEmotesManager animEmotesManager; [Header("Screens")] [SerializeField] private GameObject profileScreen; [SerializeField] private GameObject locationScreen; [SerializeField] private GameObject styleScreen; [SerializeField] private GameObject eventsScreen; [SerializeField] private GameObject newsScreen; [SerializeField] private GameObject settingsScreen; [Header("Buttons")] [SerializeField] private SelectableButton gameButton; [SerializeField] private SelectableButton profileButton; [SerializeField] private SelectableButton locationButton; [SerializeField] private SelectableButton styleButton; [SerializeField] private SelectableButton eventsButton; [SerializeField] private SelectableButton newsButton; [SerializeField] private SelectableButton settingsButton; [SerializeField] private TMP_Text profileName; [SerializeField] private TMP_Text profileText; private GameObject activeScreen; private void Start() { activeScreen = toggles; } private void SetScreen(GameObject screen, SelectableButton button) { if (activeScreen) activeScreen.SetActive(false); activeScreen = screen; if (activeScreen) activeScreen.SetActive(true); if (!button.IsSelected) button.Select(); } public void SetGameScreen() { SetScreen(toggles, gameButton); chatManager.UpdateAnimator(); animEmotesManager.UpdateAnimator(); } public void SetProfileScreen() { profileName.text = LocalPlayerData.PlayerName; profileText.text = $"\n\nEmail: {LocalPlayerData.Email}\nDate Reg: 03.06.2024\n\nAvatar: {LocalPlayerData.AvatarID}\nRoom: {LocalPlayerData.RoomID}"; SetScreen(profileScreen, profileButton); } public void SetLocationScreen() => SetScreen(locationScreen, locationButton); public void SetStyleScreen() => SetScreen(styleScreen, styleButton); public void SetEventsScreen() { EventManager.Instance.Render(); SetScreen(eventsScreen, eventsButton); } public void SetNewsScreen() => SetScreen(newsScreen, newsButton); public void SetSettingsScreen() => SetScreen(settingsScreen, settingsButton); }