85 lines
2.0 KiB
C#
85 lines
2.0 KiB
C#
using UnityEngine;
|
|
|
|
public class SideBarUIController : MonoBehaviour
|
|
{
|
|
public GameObject InventoryPanel;
|
|
public GameObject SettingsPanel;
|
|
public GameObject CharacterPanel;
|
|
public GameObject RelationshipsPanel;
|
|
public GameObject KnowledgePanel;
|
|
|
|
public GameObject ActivePanelIndicatorImage;
|
|
|
|
public int TotalPanels = 5;
|
|
|
|
public Vector3 initialIndicatorPosition;
|
|
|
|
// Start is called before the first frame update
|
|
private void Start()
|
|
{
|
|
initialIndicatorPosition = ActivePanelIndicatorImage.transform.localPosition;
|
|
}
|
|
|
|
// Update is called once per frame
|
|
private void Update()
|
|
{
|
|
}
|
|
|
|
|
|
public void ClosePanels()
|
|
{
|
|
InventoryPanel.SetActive(false);
|
|
SettingsPanel.SetActive(false);
|
|
CharacterPanel.SetActive(false);
|
|
RelationshipsPanel.SetActive(false);
|
|
KnowledgePanel.SetActive(false);
|
|
}
|
|
|
|
|
|
public void OnClick_EnableInventory()
|
|
{
|
|
ClosePanels();
|
|
InventoryPanel.SetActive(true);
|
|
MoveIndicatorToActivePanel(3);
|
|
}
|
|
|
|
public void CloseInventory()
|
|
{
|
|
InventoryPanel.SetActive(false);
|
|
}
|
|
|
|
public void MoveIndicatorToActivePanel(int panelIndex)
|
|
{
|
|
ActivePanelIndicatorImage.transform.localPosition =
|
|
new Vector3(ActivePanelIndicatorImage.transform.localPosition.x,
|
|
initialIndicatorPosition.y - panelIndex * 26);
|
|
}
|
|
|
|
public void OnClick_Settings()
|
|
{
|
|
ClosePanels();
|
|
SettingsPanel.SetActive(true);
|
|
MoveIndicatorToActivePanel(4);
|
|
}
|
|
|
|
public void OnClick_Character()
|
|
{
|
|
ClosePanels();
|
|
CharacterPanel.SetActive(true);
|
|
MoveIndicatorToActivePanel(0);
|
|
}
|
|
|
|
public void OnClick_Relationships()
|
|
{
|
|
ClosePanels();
|
|
RelationshipsPanel.SetActive(true);
|
|
MoveIndicatorToActivePanel(2);
|
|
}
|
|
|
|
public void OnClick_Knowledge()
|
|
{
|
|
ClosePanels();
|
|
KnowledgePanel.SetActive(true);
|
|
MoveIndicatorToActivePanel(1);
|
|
}
|
|
} |