You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

72 lines
2.5 KiB

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);
}