TH1/Unity/Assets/Scripts/TH1_UI/View/Notify/UINotifyCommonView.cs
2026-06-05 19:59:32 +08:00

95 lines
3.7 KiB
C#

using System.Collections.Generic;
using Logic.Audio;
using Logic.CrashSight;
using Logic.Multilingual;
using RuntimeData;
using TH1_Core.Events;
using TH1_Logic.Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.View.Notify
{
public class UINotifyCommonView : Base.View
{
public Button closeButton;
//public TextMeshProUGUI Title;
public TextMeshProUGUI content;
public ViDelegateAssisstant.Dele OnAutoClose;
protected override void OnInit()
{
base.OnInit();
//closeButton.onClick.RemoveAllListeners();
//closeButton.onClick.AddListener(() => { OnBtnCloseClick.Invoke(); });
}
public void SetContent(ShowUINotifyCommon eventType)
{
if (content == null )
{
LogSystem.LogError("ShowUINotifyCommonView.SetContent(): Content is null");
return;
}
switch (eventType.UINotifyCommonType)
{
case UINotifyCommonType.DiplomacyOfferAlly:
MultilingualManager.Instance.SetUIText(content,Table.Instance.DiplomacyDataAssets.DiplomacyUINotifyOfferAlly);
break;
case UINotifyCommonType.DiplomacyEmbassy:
MultilingualManager.Instance.SetUIText(content,Table.Instance.DiplomacyDataAssets.DiplomacyUINotifyEmbassy);
break;
case UINotifyCommonType.Tech:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUITechHint);
break;
case UINotifyCommonType.ExamineTech:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUIExamineTechHint);
break;
case UINotifyCommonType.ExamineCityExp:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUIExamineCityExpHint);
break;
case UINotifyCommonType.ExamineCulture:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUIExamineCultureHint);
break;
case UINotifyCommonType.TurnHint:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUITurnHint,new List<string>(){(Main.MapData.CurPlayer.Turn + 1).ToString()});
AudioManager.Instance.PlayAudio("SFX/start");
break;
case UINotifyCommonType.InfiltrateStealCoin:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.NotifyUIInfiltrateStealCoin,new List<string>(){eventType.IntParam.ToString()});
break;
case UINotifyCommonType.OutsideMultiplayRoomFull:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayRoomFull);
break;
case UINotifyCommonType.OutsideMultiplayRoomGone:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayRoomGone);
break;
case UINotifyCommonType.OutsideMultiplayRoomNetError:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayRoomNetError);
break;
case UINotifyCommonType.OutsideMultiplayRoomPasswordWrong:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayRoomPasswordWrong);
break;
case UINotifyCommonType.OutsideMultiplayOpenHint:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayOpenHint);
break;
case UINotifyCommonType.OutsideMultiplayCantStartCount:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayCantStartCount);
break;
case UINotifyCommonType.OutsideMultiplayRoomNotReady:
MultilingualManager.Instance.SetUIText(content,Table.Instance.TextDataAssets.OutsideMultiplayRoomNotReady);
break;
}
Timer.Instance.TimerRegister(this, AutoClose,1f,"UINotifyCommonView");
}
void AutoClose()
{
if(OnAutoClose != null)
OnAutoClose.Invoke();
}
}
}