Files
DeviantMobile-Rohan/Assets/Scripts/Behaviours/UI/UIMenuBehaviour.cs

101 lines
2.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;
public class UIMenuBehaviour : MonoBehaviour
{
[Header("Sub-Behaviours")]
public UIContextPanelsBehaviour uiContextPanelsBehaviour;
public UIPanelRebindBehaviour uiPanelRebindBehaviour;
[Header("Core Object References")]
public GameObject uiMenuCameraObject;
public GameObject uiMenuCanvasObject;
[Header("Default Selected")]
public GameObject defaultSelectedGameObject;
[Header("Player Display")]
public DeviceDisplayConfigurator deviceDisplayconfigurator;
public Image deviceDisplayIcon;
public TextMeshProUGUI IDDisplayText;
public void SetupBehaviour()
{
UpdateUIMenuState(false);
}
public void UpdateUIMenuState(bool newState)
{
switch (newState)
{
case true:
ResetContextPanels();
UpdateEventSystemDefaultSelected();
UpdateEventSystemUIInputModule();
UpdateUIPlayerDisplay();
UpdateUIRebindActions();
break;
case false:
break;
}
UpdateCoreUIObjectsState(newState);
}
void ResetContextPanels()
{
uiContextPanelsBehaviour.SetupContextPanels();
}
void UpdateCoreUIObjectsState(bool newState)
{
uiMenuCameraObject.SetActive(newState);
uiMenuCanvasObject.SetActive(newState);
}
void UpdateUIPlayerDisplay()
{
/*PlayerController focusedPlayerController = GameObject.Find("GameManager").GetComponent<GameManager>().GetFocusedPlayerController();
//ID
int focusedPlayerID = focusedPlayerController.GetPlayerID();
IDDisplayText.SetText((focusedPlayerID + 1).ToString());
//Color
Color focusedPlayerDeviceColor = deviceDisplayconfigurator.GetDeviceColor(focusedPlayerController.GetPlayerInput());
deviceDisplayIcon.color = focusedPlayerDeviceColor;*/
}
void UpdateEventSystemDefaultSelected()
{
EventSystemManager.Instance.SetCurrentSelectedGameObject(defaultSelectedGameObject);
}
void UpdateEventSystemUIInputModule()
{
EventSystemManager.Instance.UpdateActionAssetToFocusedPlayer();
}
void UpdateUIRebindActions()
{
uiPanelRebindBehaviour.UpdateRebindActions();
}
public void SwitchUIContextPanels(int selectedPanelID)
{
uiContextPanelsBehaviour.UpdateContextPanels(selectedPanelID);
}
}