YanCheng_Metrology/Assets/Scripts/Project/UI/UI_Panel/UI_MainTitlePanel.cs

90 lines
2.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using Sirenix.OdinInspector;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class UI_MainTitlePanel : BasePanel
{
internal void Init()
{
SwitchTitleImg();
SwitchMode();
SwitchUserName();
}
/// <summary>
/// 显示
/// </summary>
public override void ShowMe()
{
GameManager.EventMgr.AddEventListener(Enum_EventType.SwitchMode, SwitchMode);
}
/// <summary>
/// 隐藏
/// </summary>
public override void HideMe()
{
GameManager.EventMgr.RemoveEventListener(Enum_EventType.SwitchMode, SwitchMode);
}
/// <summary>
/// 切换模式
/// </summary>
private void SwitchMode()
{
string mode = "";
switch (RunModelMgr.Instance.ModeType)
{
case E_ModeType.None:
mode = string.Empty;
break;
case E_ModeType.Study:
mode = "学习模式";
break;
case E_ModeType.Practice:
mode = "练习模式";
break;
case E_ModeType.Exam:
mode = "考试模式";
break;
}
GetControl<TextMeshProUGUI>("modelText (TMP)").text = mode;
}
private void SwitchTitleImg()
{
var systemInfo = GameManager.DataMgr.GetSystemInfo(GameManager.Instance.systemId);
GetControl<Image>("TopBgImg").sprite =
GameManager.ResourcesMgr.Load<Sprite>(Const.UI_MainTitlePanel + systemInfo.titleName);
}
private void SwitchUserName()
{
var userName = GameManager.ProcessMgr.userData.userName;
GetControl<TextMeshProUGUI>("userNameText (TMP)").text = userName;
}
/// <summary>
/// 按钮点击
/// </summary>
/// <param name="btnName"></param>
protected override void OnClick(string btnName)
{
switch (btnName)
{
//TODO 退出提示框
case "closeBtn":
print("退出应用");
GameManager.UIMgr.ShowPanel<UI_MessagePanel>(E_UI_Layer.System,
(panel) => { panel.Init("提示", "确定退出应用吗?", E_MessageType.Warning, () => { Application.Quit(); }); });
break;
}
}
}