Files
SHI-YardView/Assets/Scripts/UI/Panel_PrimaryMenu.cs

121 lines
4.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
public class Panel_PrimaryMenu : MonoBehaviour
{
public Button Button_Close;
public RectTransform ButtonArea;
public Action<string> onClickMenuSelected;
public void Open()
{
gameObject.SetActive(true);
}
private void Close()
{
gameObject.SetActive(false);
}
public void Initialized()
{
var buttonDictionary = transform.FindComponentDictionary<Button>();
Button_Close = buttonDictionary.GetOrNull(nameof(Button_Close));
Button_Close.onClick.AddListener(Close);
var layoutGroups = transform.GetComponentsInChildren<VerticalLayoutGroup>(true);
var buttonsArea = layoutGroups.Where(area => area.name == nameof(ButtonArea)).FirstOrDefault();
var tabButtonDictionary = buttonsArea.transform.FindComponentDictionary<Button>();
foreach (var tabButton in tabButtonDictionary.Values)
{
tabButton.onClick.AddListener(() => OnClickMenuTabButton(tabButton.name));
}
}
private void OnClickMenuTabButton(string buttonName)
{
onClickMenuSelected?.Invoke(buttonName);
Close();
}
#region ¹öư ¼öµ¿ ÇÒ´ç
//private Button Button_Search;
//private Button Button_Filtering;
//private Button Button_BerthStatus;
//private Button Button_OutfittingProgress;
//private Button Button_QuayBerth;
//private Button Button_AutomationRate;
//private Button Button_OutFittingPlan;
//private Button Button_SteelStockyardStatus;
//private Button Button_BuildingStatus;
//private Button Button_AerialVideo;
//private void Initialized()
//{
// var buttonDictionary = transform.FindComponentDictionary<Button>();
// Button_Search = buttonDictionary.GetOrNull(nameof(Button_Search));
// Button_Filtering = buttonDictionary.GetOrNull(nameof(Button_Filtering));
// Button_BerthStatus = buttonDictionary.GetOrNull(nameof(Button_BerthStatus));
// Button_OutfittingProgress = buttonDictionary.GetOrNull(nameof(Button_OutfittingProgress));
// Button_QuayBerth = buttonDictionary.GetOrNull(nameof(Button_QuayBerth));
// Button_AutomationRate = buttonDictionary.GetOrNull(nameof(Button_AutomationRate));
// Button_OutFittingPlan = buttonDictionary.GetOrNull(nameof(Button_OutFittingPlan));
// Button_SteelStockyardStatus = buttonDictionary.GetOrNull(nameof(Button_SteelStockyardStatus));
// Button_BuildingStatus = buttonDictionary.GetOrNull(nameof(Button_BuildingStatus));
// Button_AerialVideo = buttonDictionary.GetOrNull(nameof(Button_AerialVideo));
// Button_Search.onClick.AddListener(OnClickSearchButton);
// Button_Filtering.onClick.AddListener(OnClickFilteringButton);
// Button_BerthStatus.onClick.AddListener(OnClickBerthStatusButton);
// Button_OutfittingProgress.onClick.AddListener(OnClickOutfittingProgressButton);
// Button_QuayBerth.onClick.AddListener(OnClickQuayBerthButton);
// Button_AutomationRate.onClick.AddListener(OnClickAutomationRateButton);
// Button_OutFittingPlan.onClick.AddListener(OnClickOutFittingPlanButton);
// Button_SteelStockyardStatus.onClick.AddListener(OnClickSteelStockyardStatusButton);
// Button_BuildingStatus.onClick.AddListener(OnClickBuildingStatusButton);
// Button_AerialVideo.onClick.AddListener(OnClickAerialVideoButton);
//}
//private void OnClickSearchButton()
//{
// onClickMenuSelected?.Invoke(Button_Search.name);
//}
//private void OnClickFilteringButton()
//{
// onClickMenuSelected?.Invoke(Button_Filtering.name);
//}
//private void OnClickBerthStatusButton()
//{
// onClickMenuSelected?.Invoke(Button_BerthStatus.name);
//}
//private void OnClickOutfittingProgressButton()
//{
// onClickMenuSelected?.Invoke(Button_OutfittingProgress.name);
//}
//private void OnClickQuayBerthButton()
//{
// onClickMenuSelected?.Invoke(Button_QuayBerth.name);
//}
//private void OnClickAutomationRateButton()
//{
// onClickMenuSelected?.Invoke(Button_AutomationRate.name);
//}
//private void OnClickOutFittingPlanButton()
//{
// onClickMenuSelected?.Invoke(Button_OutFittingPlan.name);
//}
//private void OnClickSteelStockyardStatusButton()
//{
// onClickMenuSelected?.Invoke(Button_SteelStockyardStatus.name);
//}
//private void OnClickBuildingStatusButton()
//{
// onClickMenuSelected?.Invoke(Button_BuildingStatus.name);
//}
//private void OnClickAerialVideoButton()
//{
// onClickMenuSelected?.Invoke(Button_AerialVideo.name);
//}
#endregion
}