96 lines
2.2 KiB
C#
96 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Logic.CrashSight;
|
|
using UnityEngine;
|
|
using RuntimeData;
|
|
using Logic.Multilingual;
|
|
using Logic.Skill;
|
|
using TH1_Logic.Core;
|
|
using TH1Renderer;
|
|
using TH1Resource;
|
|
using Unity.VisualScripting;
|
|
|
|
|
|
public enum StoryCharEnum {
|
|
// 编号规则: 国家(2位) + 国家重复(2位) + 国内序号(1位)
|
|
// 国家: 01=Egyptian 02=French 03=Germany 04=Indian 05=Norway 06=British 07=Persian 08=Byzantine
|
|
// 国内序号与 GiantType 国内顺序对齐
|
|
None = 0,
|
|
|
|
EgyptianFlandre = 01011,
|
|
EgyptianRemilia = 01012,
|
|
EgyptianSakuya = 01013,
|
|
EgyptianMeiling = 01014,
|
|
EgyptianPatchouli = 01015,
|
|
|
|
FrenchKaguya = 02021,
|
|
FrenchReisen = 02022,
|
|
FrenchTewi = 02023,
|
|
FrenchEirin = 02024,
|
|
FrenchMokou = 02025,
|
|
|
|
GermanyKanako = 03031,
|
|
GermanySuwako = 03032,
|
|
GermanySanae = 03033,
|
|
GermanyAya = 03034,
|
|
GermanyMomiji = 03035,
|
|
|
|
IndianSatori = 04041,
|
|
IndianKoishi = 04042,
|
|
IndianUtsuho = 04043,
|
|
IndianYuugi = 04044,
|
|
IndianRin = 04045,
|
|
|
|
NorwayReimu = 05051,
|
|
BritishByakuren = 06061,
|
|
PersianMiko = 07071,
|
|
ByzantineZanmu = 08081,
|
|
|
|
// 通用版本(不带国家前缀,仅角色本体相关剧情使用)
|
|
Remilia = 100000,
|
|
Sakuya = 100001,
|
|
}
|
|
;
|
|
|
|
[Serializable]
|
|
[CreateAssetMenu(fileName = "StoryDataAssets", menuName = "TH1 Game Data/Story Data Asset")]
|
|
public class StoryDataAssets : ScriptableObject
|
|
{
|
|
public List<StoryCharData> CharDataList;
|
|
|
|
public List<StorySheetData> SheetData;
|
|
|
|
public Sprite GetCharSprite(StoryCharEnum charEnum)
|
|
{
|
|
foreach(var t in CharDataList)
|
|
if (t.CharName == charEnum)
|
|
return t.CharSprite;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
[Serializable]
|
|
public class StorySheetData
|
|
{
|
|
public string SheetName;
|
|
public List<StoryDiagData> DiagList;
|
|
}
|
|
|
|
[Serializable]
|
|
public class StoryDiagData
|
|
{
|
|
public string GetSpeaker() { return CharName.ToString();}
|
|
public StoryCharEnum CharName;
|
|
[MultilingualField(false, true, false)]
|
|
public string Diag;
|
|
|
|
|
|
}
|
|
|
|
[Serializable]
|
|
public class StoryCharData
|
|
{
|
|
public StoryCharEnum CharName;
|
|
public Sprite CharSprite;
|
|
} |