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.
53 lines
1.9 KiB
53 lines
1.9 KiB
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class MainScreensManager : MonoBehaviour
|
|
{
|
|
[SerializeField] private ChatManager chatManager;
|
|
|
|
[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;
|
|
|
|
private GameObject activeScreen;
|
|
|
|
private void Start()
|
|
{
|
|
activeScreen = chatManager.ChatPanel;
|
|
}
|
|
|
|
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(chatManager.ChatPanel, gameButton);
|
|
chatManager.UpdateAnimator();
|
|
}
|
|
public void SetProfileScreen() => SetScreen(profileScreen, profileButton);
|
|
public void SetLocationScreen() => SetScreen(locationScreen, locationButton);
|
|
public void SetStyleScreen() => SetScreen(styleScreen, styleButton);
|
|
public void SetEventsScreen() => SetScreen(eventsScreen, eventsButton);
|
|
public void SetNewsScreen() => SetScreen(newsScreen, newsButton);
|
|
public void SetSettingsScreen() => SetScreen(settingsScreen, settingsButton);
|
|
}
|
|
|