using System; using System.Collections.Generic; using System.Diagnostics; using UnityEngine; using RuntimeData; using Logic.Multilingual; using TH1_Core.Events; //单位类型 public enum UICenterMessageID { None, WonderStartPEACE, WonderStartKNOWLEDGE, WonderStartTRADE, WonderStartWEALTH, WonderStartPOWER, WonderStartPARK, WonderStartEYE, WonderFinishPEACE, WonderFinishKNOWLEDGE, WonderFinishTRADE, WonderFinishWEALTH, WonderFinishPOWER, WonderFinishPARK, WonderFinishEYE, MeetNewPlayer, StartGame, ForcesFallen }; public enum UICenterMessageType { None, WonderStart, WonderFinish, MeetNewPlayer, StartGame, ForcesFallen }; [Serializable] [CreateAssetMenu(fileName = "UICenterMessageDataAssets", menuName = "TH1 Game Data/UICenterMessage Data Asset")] public class UICenterMessageDataAssets : ScriptableObject { public List UICenterMessageInfoList; public bool GetUICenterMessageInfo(UICenterMessageID uiCenterMessageID,out UICenterMessageInfo uiCenterMessageInfo) { uiCenterMessageInfo = null; foreach (var t in UICenterMessageInfoList) if (t.Id == uiCenterMessageID) { uiCenterMessageInfo = t; return true; } return false; } public bool GetUICenterMessageInfo(UIAnnounceMajorEventType type,uint wid, out UICenterMessageInfo uiCenterMessageInfo) { UICenterMessageID tt = UICenterMessageID.None; if (type == UIAnnounceMajorEventType.WonderStart) { tt = wid switch { 1 => UICenterMessageID.WonderStartPEACE, 2 => UICenterMessageID.WonderStartKNOWLEDGE, 3 => UICenterMessageID.WonderStartTRADE, 4 => UICenterMessageID.WonderStartWEALTH, 5 => UICenterMessageID.WonderStartPOWER, 6 => UICenterMessageID.WonderStartPARK, 7 => UICenterMessageID.WonderStartEYE, _ => UICenterMessageID.WonderStartPEACE }; } if (type == UIAnnounceMajorEventType.WonderEnd) { tt = wid switch { 1 => UICenterMessageID.WonderFinishPEACE, 2 => UICenterMessageID.WonderFinishKNOWLEDGE, 3 => UICenterMessageID.WonderFinishTRADE, 4 => UICenterMessageID.WonderFinishWEALTH, 5 => UICenterMessageID.WonderFinishPOWER, 6 => UICenterMessageID.WonderFinishPARK, 7 => UICenterMessageID.WonderFinishEYE, _ => UICenterMessageID.WonderFinishPEACE }; } uiCenterMessageInfo = null; foreach (var t in UICenterMessageInfoList) if (t.Id == tt) { uiCenterMessageInfo = t; return true; } return false; } } [Serializable] public class UICenterMessageInfo { public UICenterMessageID Id; public UICenterMessageType Type; [MultilingualField] public string Title; [MultilingualField] public string Message; public WonderTypeEnum WonderType; }