Files

69 lines
2.5 KiB
C#
Raw Permalink Normal View History

2023-09-25 16:24:19 +03:00
using TMPro;
2023-07-04 21:32:21 +03:00
using UnityEngine;
2023-08-28 02:38:39 +03:00
using UnityEngine.EventSystems;
2023-07-06 16:01:26 +03:00
using UnityEngine.UI;
2023-07-04 21:32:21 +03:00
public class TopBarMenu : MonoBehaviour
{
2023-07-06 16:01:26 +03:00
[SerializeField] private OptionsMenu _optionsMenu = default;
2023-08-29 17:42:32 +03:00
[SerializeField] private PromptsInput _hotBarPrompts = default;
2023-07-06 16:01:26 +03:00
[SerializeField] private ControlsMenu _controlsMenu = default;
[SerializeField] private Sprite _musicOnSprite = default;
[SerializeField] private Sprite _musicOffSprite = default;
[SerializeField] private Sprite _fullScreenOnSprite = default;
[SerializeField] private Sprite _fullScreenOffSprite = default;
[SerializeField] private Image _musicImage = default;
[SerializeField] private Image _fullScreenImage = default;
[SerializeField] private BaseMenu _previousMenu = default;
2023-08-28 02:38:39 +03:00
[SerializeField] private GameObject _backgroundImage = default;
[SerializeField] private InputManager _inputManager = default;
[SerializeField] private Animator _animator;
2023-08-28 22:50:54 +03:00
[SerializeField] private Canvas _canvas;
2023-09-20 22:07:55 +03:00
[SerializeField] private GameObject _previousSelectable;
2023-12-03 02:36:58 +02:00
[SerializeField] private AudioSource _mainMenuAudio;
2023-08-28 02:38:39 +03:00
public bool Active { get { return _backgroundImage.activeSelf; } private set { } }
2023-07-06 16:01:26 +03:00
2023-09-25 18:01:16 +03:00
public void JoinDiscord() => Application.OpenURL("https://discord.com/invite/wPw9fV6aQg");
2023-07-06 16:01:26 +03:00
public void ToggleFullScreen()
{
Screen.fullScreen = !Screen.fullScreen;
_fullScreenImage.sprite = Screen.fullScreen ? _fullScreenOffSprite : _fullScreenOnSprite;
}
public void ToggleMenuMusic()
{
_mainMenuAudio.enabled = !_mainMenuAudio.enabled;
_musicImage.sprite = _mainMenuAudio.enabled ? _musicOffSprite : _musicOnSprite;
}
public void OpenControls() => _controlsMenu.Show();
public void OpenSettings() => _optionsMenu.Show();
public void ShowMenu(BaseMenu menu)
{
_previousMenu.Hide();
menu.Show();
_previousMenu = menu;
}
2023-08-28 02:38:39 +03:00
public void HideHotBar(GameObject hotBarToggle)
{
2023-08-28 22:50:54 +03:00
_canvas.sortingOrder = 0;
2023-08-28 02:38:39 +03:00
_backgroundImage.SetActive(false);
_animator.SetBool("Appear", false);
_animator.SetBool("Disappear", true);
2023-09-20 22:07:55 +03:00
_previousSelectable = hotBarToggle;
2023-08-28 02:38:39 +03:00
}
public void ShowHotBar()
{
2023-08-28 22:50:54 +03:00
_canvas.sortingOrder = 1;
2023-08-29 17:42:32 +03:00
_inputManager.SetPrompts(_hotBarPrompts);
2023-08-28 02:38:39 +03:00
_backgroundImage.SetActive(true);
_animator.SetBool("Appear", true);
_animator.SetBool("Disappear", false);
EventSystem.current.SetSelectedGameObject(_previousSelectable);
}
2023-07-04 21:32:21 +03:00
}