2026-05-10 11:52:37 +08:00

148 lines
6.4 KiB
C#

using System;
using System.Collections.Generic;
using Logic.Action;
using Logic.Multilingual;
using UnityEngine;
[Serializable]
[CreateAssetMenu(fileName = "TextDataAssets", menuName = "TH1 Game Data/Text Data Asset")]
public class TextDataAssets : ScriptableObject
{
[MultilingualField]public string WinUIWinText;
[MultilingualField]public string WinUILoseText;
[MultilingualField]public string BottomInfoUnitDesc;
[MultilingualField]public string AIPlayingHint;
[MultilingualField]public string HeroForceFinishHint;
[MultilingualField]public string NoneText;
//bottominfo使用的 - 无主领土
[MultilingualField]public string BottomInfoGridNoPlayerGridSubTitle1;
[MultilingualField]public string HintUIDefaultText;
public List<GiantUpgradeText> GiantUpgradeTextList;
[MultilingualField]public string OutsideMultiplayTitleAIPlayer;
[MultilingualField]public string OutsideMultiplayTitleHost;
[MultilingualField]public string OutsideMultiplayTitleGuest;
// [已弃用] 多人模式相同阵营开局已放开,原阻止文本暂保留未引用。
[MultilingualField]public string OutsideMultiplayCantStartForce;
[MultilingualField]public string OutsideMultiplayCantStartCount;
//[MultilingualField]public string OutsideMultiplayNameBlank;
[MultilingualField]public string OutsideMultiplayOnlineStatus;
[MultilingualField]public string OutsideMultiplayCantStartSameEmpireHint;
[MultilingualField]public string OutsideMultiplayOnlyShowSameVersionRoomHint;
[MultilingualField]public string OutsideMultiplayIncludeAIPlayerHint;
[MultilingualField]public string OutsideMultiplayNoRoomHint;
[MultilingualField]public string OutsideMultiplayRoomNameSuffix;
[MultilingualField]public string OutsideHistoryDropListNoLimitP;
[MultilingualField]public string OutsideHistoryDropList2P;
[MultilingualField]public string OutsideHistoryDropList3P;
[MultilingualField]public string OutsideHistoryDropList4P;
[MultilingualField]public string OutsideHistoryDropList5P;
[MultilingualField]public string OutsideHistoryDropList6P;
[MultilingualField]public string OutsideHistoryDropList7P;
[MultilingualField]public string OutsideHistoryDropList8P;
[MultilingualField]public string OutsideHistoryDropListTimeOrder;
[MultilingualField]public string OutsideHistoryDropListTimeOrderR;
[MultilingualField]public string OutsideHistoryDropListScoreOrder;
//-------- UI --------
[MultilingualField] public string HeroTaskFinishedDesc;
[MultilingualField] public string GridInfoText_PerTurn;
[MultilingualField] public string GridInfoText_Population;
[MultilingualField] public string GridInfoText_Connected;
[MultilingualField] public string GridInfoText_Unconnected;
[MultilingualField] public string GridInfoText_Capital;
[MultilingualField] public string GridInfoText_Diamond;
[MultilingualField] public string GridInfoText_GridInfoHint;
[MultilingualField] public string GridInfoText_CityInfoHint;
[MultilingualField] public string GridInfoText_UnitInfoHint;
[MultilingualField] public string GeoHintTitle;
//--------- MuitiplayUI -----------
[MultilingualField] public string MultiplayRoomOwnerTitle;
[MultilingualField] public string MultiplayRoomGuestTitle;
[MultilingualField] public string MultiplayNetOkTitle;
[MultilingualField] public string MultiplayNetDisconnectTitle;
[MultilingualField] public string MultiplayNetAIPlayTitle;
[MultilingualField] public string MultiplayInviteButton;
[MultilingualField] public string MultiplayAlreadyInvitedButton;
//--------- Skill -----------
[MultilingualField] public string SkillSanaeWind1;
[MultilingualField] public string SkillSanaeWind2;
[MultilingualField] public string SkillSanaeWind3;
[MultilingualField] public string SkillSanaeWind4;
[MultilingualField] public string SkillSanaeWind6;
[MultilingualField] public string SkillSanaeWind7;
[MultilingualField] public string SkillSanaeWind8;
[MultilingualField] public string SkillSanaeWind9;
//--------- NotifyUI ---------
[MultilingualField] public string NotifyUITechHint;
[MultilingualField] public string NotifyUIExamineTechHint;
[MultilingualField] public string NotifyUIExamineCityExpHint;
[MultilingualField] public string NotifyUITurnHint;
[MultilingualField] public string NotifyUIInfiltrateStealCoin;
//--------- PresentationUI ---------
[MultilingualField] public string PresentationUIDiplomacyYouText;
[MultilingualField] public string PresentationUIDiplomacyThinkYouText;
//--------- UnitDataAsset ---------
[MultilingualField] public string UnitOfficerName;
//--------- GridDataAsset ---------
[MultilingualField] public string ForestPreserveName;
[MultilingualField] public string OceanPreserveName;
[MultilingualField] public string MountainPreserveName;
[MultilingualField] public string WaterPreserveName;
[MultilingualField] public string NationParkName;
//--------- NetInfoChat --------
[MultilingualField] public string NetChatPlaceHolder;
//--------- OutsideMod --------
// 工坊查询状态:未查询时 / 查询中 / 已加载({param}=已返回数 {param}=总数)
[MultilingualField] public string OutsideModQueryNotStarted;
[MultilingualField] public string OutsideModQueryInProgress;
[MultilingualField] public string OutsideModQueryLoaded;
// 模板导出状态:导出中 / 导出成功({param}=导出路径)
[MultilingualField] public string OutsideModExportInProgress;
[MultilingualField] public string OutsideModExportSucceeded;
// 上传子模块的预览图状态:已检测 / 未提供({param}=preview 文件名)
[MultilingualField] public string OutsideModUploadPreviewDetected;
[MultilingualField] public string OutsideModUploadPreviewNotProvided;
public bool GetGiantUpgradeText_DECODE(GiantType giant, out string ret)
{
ret = "";
foreach(var g in GiantUpgradeTextList)
if (g.GiantType == giant)
{
ret = MultilingualManager.Instance.GetMultilingualTextSafe(g.UpgradeText);
return true;
}
return false;
}
}
[Serializable]
public class GiantUpgradeText
{
public GiantType GiantType;
[MultilingualField] public string UpgradeText;
}