Files
Studio/Assets/Scripts/Studio/UI/Panel/Panel_StudioTopBar.cs

218 lines
6.7 KiB
C#

using Studio.Manage;
using System;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using XRLib.UI;
namespace Studio.UI
{
public class Panel_StudioTopBar : PanelBase
{
public Button Button_Logo;
/*File*/
public Button Button_NewProject;
public Button Button_OpenProject;
public Button Button_SaveProject;
public Button Button_SaveAsProject;
public Button Button_Exit;
public event Action onClickNewProject;
public event Action onClickOpenProject;
public event Action onClickSaveProject;
public event Action onClickSaveAsProject;
public event Action onClickExit;
/*Window*/
public Button Button_DataStorage;
public Button Button_DataUpdateSetting;
public Button Button_AssetLibraryWindow;
public Button Button_HierarchyWindow;
public event Action onClickDataStorage;
public event Action onClickDataUpdateSetting;
public event Action onClickAssetLibraryWindow;
public event Action onClickHierarchyWindow;
public Button Button_AppSetting;
public Button Button_AuthSetting;
public Button Button_APISetting;
public Button Button_MQTTSetting;
public Button Button_AssetSetting;
/*Build*/
public Button Button_Build;
public Button Button_Run;
public event Action onClickBuild;
public event Action onClickRun;
/*Window*/
public Button Button_Minimize;
public Button Button_Maximize;
public Button Button_Close;
public event Action onClickClose;
/*ControlBox*/
public Button Button_LanguageSetting;
public TextMeshProUGUI Text_Language;
public event Action onClickLanguageSetting;
public override void AfterAwake()
{
Button_Logo.onClick.AddListener(OnClickLogo);
Button_NewProject.onClick.AddListener(OnClickNewProject);
Button_OpenProject.onClick.AddListener(OnClickOpenProject);
Button_Exit.onClick.AddListener(OnClickExit);
Button_SaveProject.onClick.AddListener(OnClickSaveProject);
//Button_SaveAsProject.onClick.AddListener(OnClickSaveAsProject);
Button_DataStorage.onClick.AddListener(OnClickDataStorage);
Button_HierarchyWindow.onClick.AddListener(OnClickHierarchyWindow);
Button_DataUpdateSetting.onClick.AddListener(OnClickDataUpdateSetting);
Button_AssetLibraryWindow.onClick.AddListener(OnClickAssetLibraryWindow);
Button_AppSetting.onClick.AddListener(OnClickAppSetting);
Button_AuthSetting.onClick.AddListener(OnClickAuthSetting);
Button_APISetting.onClick.AddListener(OnClickAPISetting);
Button_MQTTSetting.onClick.AddListener(OnClickMQTTSetting);
Button_AssetSetting.onClick.AddListener(OnClickAssetSetting);
Button_LanguageSetting.onClick.AddListener(OnClickLanguageSetting);
Button_Build.onClick.AddListener(OnClickBuild);
Button_Run.onClick.AddListener(OnClickRun);
Button_Close.onClick.AddListener(OnClickClose);
}
public void ToggleWindowButton(bool isOn)
{
Button_Minimize.gameObject.SetActive(isOn);
Button_Maximize.gameObject.SetActive(isOn);
Button_Close.gameObject.SetActive(isOn);
}
private void OnClickLogo()
{
Debug.Log("On TopMenu Click Logo");
ManagerHub.instance.Get<CameraManager>().InitCameraTransform();
}
private void OnClickMQTTSetting()
{
Debug.Log("On TopMenu Click MQTT Setting");
CanvasManager.instance.GetCanvas<Canvas_Popup>().panel_mqttsetting.Open();
}
private void OnClickAPISetting()
{
Debug.Log("On TopMenu Click API Setting");
CanvasManager.instance.GetCanvas<Canvas_Popup>().panel_apisetting.Open();
}
private void OnClickAuthSetting()
{
Debug.Log("On TopMenu Click Auth Setting");
CanvasManager.instance.GetCanvas<Canvas_Popup>().panel_authsetting.SetActive(true);
}
private void OnClickAppSetting()
{
Debug.Log("On TopMenu Click App Setting");
CanvasManager.instance.GetCanvas<Canvas_Popup>().panel_appsetting.SetActive(true);
}
private void OnClickAssetSetting()
{
Debug.Log("On Click Asset Manager");
CanvasManager.instance.GetCanvas<Canvas_Popup>().panel_assetsetting.SetActive(true);
}
private void OnClickLanguageSetting()
{
Debug.Log("On Click anguage Setting");
Text_Language.text = Text_Language.text == "KR" ? "EN" : "KR";
onClickLanguageSetting?.Invoke();
}
private void OnClickNewProject()
{
Debug.Log("On Click New Project");
onClickNewProject?.Invoke();
}
private void OnClickOpenProject()
{
Debug.Log("On Click Open Project");
onClickOpenProject?.Invoke();
}
private void OnClickSaveProject()
{
Debug.Log("On Click Save Project");
onClickSaveProject?.Invoke();
}
private void OnClickSaveAsProject()
{
Debug.Log("On Click Save As Project");
onClickSaveAsProject?.Invoke();
}
private void OnClickExit()
{
Debug.Log("On Click Exit");
onClickExit?.Invoke();
}
private void OnClickDataStorage()
{
Debug.Log("On Click Data Storage");
onClickDataStorage?.Invoke();
}
private void OnClickDataUpdateSetting()
{
Debug.Log("On Click Data Update Setting");
onClickDataUpdateSetting?.Invoke();
}
void OnClickAssetLibraryWindow()
{
Debug.Log("On Click Asset Library");
//EventConnector.instance.GetCanvas<Canvas_Popup>().panel_assetlibrary.SetActive(true);
onClickAssetLibraryWindow?.Invoke();
}
void OnClickHierarchyWindow()
{
Debug.Log("On Click Hierarchy Window");
onClickHierarchyWindow?.Invoke();
}
private void OnClickBuild()
{
Debug.Log("On Click Build");
onClickBuild?.Invoke();
}
private void OnClickRun()
{
Debug.Log("On Click Run");
onClickRun?.Invoke();
}
private void OnClickClose()
{
Debug.Log("On Click Close");
onClickClose?.Invoke();
}
}
}