TH1/Unity/Assets/Scripts/TH1_DataAssetsScript/UICenterMessageDataAssets.cs
2025-08-22 17:17:40 +08:00

117 lines
3.2 KiB
C#

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<UICenterMessageInfo> 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;
}