音乐室+多语言

This commit is contained in:
kawagiri 2026-05-10 11:52:37 +08:00
parent c973200a87
commit 6ee6877386
129 changed files with 169172 additions and 33225 deletions

23
.gitignore vendored
View File

@ -84,3 +84,26 @@ yarn-error.log*
!**/graphify-out/cost.json
Unity/TH1.pub
Unity/TH1
#翻译校对过程中的临时文件(一次性脚本/中间审计数据/xlsx备份
Tools/*.bak.xlsx
Tools/_*.txt
Tools/_*.py
Tools/audit_*.json
Tools/en_*.json
Tools/tw_*.json
Tools/es_audit.json
Tools/multi_audit.json
Tools/issues_*.json
Tools/retranslate_*.json
Tools/fix_*.json
Tools/fix_*.py
Tools/empty_*.json
Tools/jp_translations.json
Tools/kr_translations.json
Tools/to_translate.json
Tools/row_to_id_map.json
Tools/apply_translations.py
Tools/reapply_all.py
Tools/revert_inactive.py
Tools/Multilingual_p1.xlsx

View File

@ -1,5 +1,5 @@
{
"nextId": 86,
"nextId": 107,
"bugs": [
{
"id": 2,
@ -840,6 +840,216 @@
"module": "",
"createdAt": 1778054090670,
"updatedAt": 1778054090670
},
{
"id": 86,
"title": "新叛军单位不给视野",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778060168323,
"updatedAt": 1778060168323
},
{
"id": 87,
"title": "敌人的铃仙一起射",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778068900792,
"updatedAt": 1778068900792
},
{
"id": 88,
"title": "升级时逃脱可以进入隐身 恋恋",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778069113269,
"updatedAt": 1778069113269
},
{
"id": 89,
"title": "马阶和车阶的成就计算好像反了",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778072849787,
"updatedAt": 1778072849787
},
{
"id": 90,
"title": "雕像的价格",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778074999985,
"updatedAt": 1778074999985
},
{
"id": 91,
"title": "庭院 兔子 数额",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778079255764,
"updatedAt": 1778079255764
},
{
"id": 92,
"title": "恋恋复活bug",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778129361545,
"updatedAt": 1778129361545
},
{
"id": 93,
"title": "雪糕帕琪的体力说明是不是没说清楚上限升4的条件",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778157886802,
"updatedAt": 1778157886802
},
{
"id": 94,
"title": "旱地行舟",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778171808683,
"updatedAt": 1778171808683
},
{
"id": 95,
"title": "隐退不结算",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778239305108,
"updatedAt": 1778239305108
},
{
"id": 96,
"title": "不结束的bug - 存档!",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778256414171,
"updatedAt": 1778256414171
},
{
"id": 97,
"title": "隐退后的盟友不能占领",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778327241673,
"updatedAt": 1778327241673
},
{
"id": 98,
"title": "辉夜Lv2没有显示他有满月技能、",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778327264903,
"updatedAt": 1778327264903
},
{
"id": 99,
"title": "百科的辉夜技能都没有!",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778327389757,
"updatedAt": 1778327389757
},
{
"id": 100,
"title": "20x20地图看不到顶上的格子",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778327642153,
"updatedAt": 1778327642153
},
{
"id": 101,
"title": "灵乌路空可以以盟友城市中心为目标",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778328457814,
"updatedAt": 1778328457814
},
{
"id": 102,
"title": "觉击杀敌人的时候恐惧没有算入任务",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778328764545,
"updatedAt": 1778328764545
},
{
"id": 103,
"title": "英雄的行动在百科里没有",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778329387130,
"updatedAt": 1778329387130
},
{
"id": 104,
"title": "战绩模式",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778341534883,
"updatedAt": 1778341534883
},
{
"id": 105,
"title": "图鉴有bug 残无Lv4全部变成0了",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778341864548,
"updatedAt": 1778341864548
},
{
"id": 106,
"title": "联机 进进出出 卡房间 /卡星空 1P 4P 5P 6P",
"description": "",
"status": "open",
"priority": "medium",
"module": "",
"createdAt": 1778342289331,
"updatedAt": 1778342289331
}
]
}

View File

@ -0,0 +1,102 @@
# Multilingual.xlsx 英文翻译核查报告
**核查范围**xlsx 中所有 `活跃文本=true``次要文案=false` 的 3338 条
**核查方式**:跨条目术语一致性扫描 + 东方专有名词匹配 + 拼写检查 + 游戏术语对照
**未触及**MARKER_MISMATCH 类问题(`**<XXX>**` 标记被压成 `**<>**` 空标记),这是机翻偷工减料造成的大批量结构性错误,需另外专项处理
---
## 一、严重错译(必须修复)
### 1. 角色名错位
| ID | ZH | 当前 EN | 应改为 | 备注 |
|----|----|---------|--------|------|
| 17527 | 日白残无<br>参赛确认! | Nippaku Zanmu | **Zanmu Nippaku** | 与 ID 482/18627/18964-67/19286 风格统一为 名+姓 |
| 19414 | 西行寺幽幽子 | Saigyouji Yuyuko | **Yuyuko Saigyouji** | 项目其他角色都用名+姓Sakuya Izayoi、Flandre Scarlet 等) |
### 2. 拼写错误 / 神名错译
| ID | ZH | 当前 EN | 应改为 | 备注 |
|----|----|---------|--------|------|
| 17013 | 召唤御射宫司大人 | Summon Lord Mishot Gūji | **Summon Lord Mishaguji** | 拼写错误 |
| 17890 | [能力:就交给赤口大人吧!] | [Ability: Leave it to **Lord Mishaguji**!] | [Ability: Leave it to **Akaguchi-sama**!] 或 **[Ability: Leave it to Lord Akaguchi!]** | 把"赤口"翻成了 Mishaguji神名错位赤口=日本六曜凶日的拟人神,与御射宫司是不同的神) |
### 3. 东方专名漏译为通用词
| ID | ZH | 当前 EN | 应改为 | 备注 |
|----|----|---------|--------|------|
| 2383 | 小恶魔祭司 | Lesser Demon Priest | **Koakuma Priestess** | "小恶魔"是东方专有角色紅魔館的图书馆助手应保留专名。ID 2440/2441/2439 已用 Koakuma |
| 17009 | 召唤小恶魔祭司 | Summon Lesser Devil Priest | **Summon Koakuma Priestess** | 同上,且和 ID 2383 风格一致 |
---
## 二、术语一致性问题(建议修复)
### 4. 同一概念多种译法
| 概念 (ZH) | 当前 EN 译法分布 | 建议 |
|----------|-----------------|------|
| 护法炮兵 | Dharma Guardian Gunner (ID 18186) **vs** Dharma Guardian Cannoneer (ID 18223) | 统一为 **Cannoneer** 与项目"炮兵=Cannoneer / 炮手=Gunner"区分一致ID 18222 训练护法弓兵=Archer 也支持这个区分) |
| 护法帆船 | Guardian Sailboat (ID 18739/18740) | 改为 **Dharma Guardian Sailboat**,与"护法弓兵/炮兵/战舰" Dharma Guardian 前缀风格统一 |
### 5. 大人称呼风格不统一
| ID | ZH | 当前 EN |
|----|----|--------|
| 16734-16738, 16936, 17891, 17013待修 | 御射宫司大人系列 | **Lord Mishaguji** / **Lord Mishaguji's Curse** |
| 16726 | 交给赤口大人吧! | **Leave it to Akaguchi-sama!** |
| 16724 | 赤口大人的作祟 | **Akaguchi-sama's Curse** |
| 17890 | [能力:就交给赤口大人吧!] | (现在错译为 Lord Mishaguji需修 |
**问题**:御射宫司大人用 `Lord XX`,赤口大人用 `XX-sama`。两种风格混用。
**建议方案**:选其一统一所有"大人"称呼:
- 方案 A全用 `Lord XX`(西方化,便于英语玩家理解)→ ID 16724/16726 改为 Lord Akaguchi
- 方案 B全用 `XX-sama`(保留日式敬称风格)→ ID 16734-17891 等改为 Mishaguji-sama
- 方案 C维持现状但修复 17890 错译(最小改动)
---
## 三、需用户决定的问题(不一定是错)
### 6. ID 18093「斯卡雷特·蕾米莉亚 Lv.1」反写
- **ZH**: `斯卡雷特·蕾米莉亚 Lv.1`(其他所有蕾米莉亚条目 ZH 都是 `蕾米莉亚·斯卡雷特`
- **EN**: `Scarlet Remilia Lv.1`(其他都是 `Remilia Scarlet`
- **备注列**: `HeroHintPanel .../UnitBaseInfo/Title`(单位介绍标题)
是 ZH 故意反写(如剧情/称号需要),还是写错了?如果是错,需要同时修 ZH 和 EN。
### 7. 「冲刺」译为 Dash 还是 Charge
- **ID 18495**「冲刺」 EN=`Dash`
- 其他 5 条「冲刺」都嵌在 `**<>**` 空标记内,看不出译法
游戏圈两种译法都常见,需用户决定项目偏好。
### 8. 「连续杀敌」译为 Consecutive Kill 还是 Killing Spree
- **ID 18258**「连续杀敌」 EN=`Consecutive Kill`
- ID 18611「连杀」EN=`Multikill`
- 是否统一为 `Killing Spree`(更地道的游戏术语)?或者保持现状(项目独立风格)?
---
## 四、不予修复(已是合理)
- **ID 1066/242 「大小姐」EN=`Milady`** — 正确Milady 是英文中对贵族小姐的尊称,符合蕾米莉亚的身份)
- **ID 38 「红美铃」EN=`Hong Meiling`** — 正确(按拼音音译,是项目偏好)
- **大部分能力名([能力:XXX]** — 见 ID 17881-18622 系列,整体翻译质量高且风格统一
- **角色名 ID 28-200 段** — 抽查皆正确
- **MARKER_MISMATCH620+ 条空 `**<>**`** — 这是结构性大批量问题,应另开专项修复,不在本次审查中处理
---
## 修复优先级建议
- **P0 立即修**1角色名错位 2 条、2拼写/神名错译 2 条、3东方专名漏译 2 条)= 共 **6 条**
- **P1 视情况修**4术语统一 4 条)= 共 **4 条**
- **P2 风格决定后批量修**5大人称呼、7、8 = 视用户选择
**累计 P0+P1 共 10 条**,加 P2 取决于风格选择。

View File

@ -14,18 +14,24 @@ def log(message):
print(f"[{datetime.now()}] {message}")
def parse_special_format(content):
"""解析特殊标记格式的数据"""
"""解析特殊标记格式的数据。
TXT 格式 16 字段编辑器 sb.Append 写出去掉 RU/ES/PT/FR + IsSecondary
0=ID 1=活跃 2=ZH 3=TDZH 4=EN 5=JP 6=KR 7=IsSecondary
8=IsProperNoun 9=IsDialogue 10=DialogueSpeaker 11=IsDeprecated
12=IsCustom 13=IsSpecialTerm 14=Color 15=Icon
编辑器写出时还会附 16=Desc备注所以读到的字段数可能是 16 17"""
records = []
# 按记录分割(注意保留结尾空行处理)
for record in content.split('!@#$%'):
if not record.strip():
continue
# 按字段分割
fields = [f.strip() for f in record.split('%$#@!')]
if len(fields) == 20: # ID,ZH,EN,JP,KR
if len(fields) in (16, 17):
# 不足 17 时补上空备注列
if len(fields) == 16:
fields.append("")
records.append(fields)
else:
log(f"忽略格式错误的记录: {record}")
log(f"忽略格式错误的记录(字段数={len(fields)}): {record[:60]}")
return records
def convert_file():
@ -42,7 +48,13 @@ def convert_file():
wb = openpyxl.Workbook()
ws = wb.active
ws.append(["ID", "活跃文本", "中文", "繁中", "英文", "日文", "韩文", "俄语", "西班牙语", "法语", "德语", "专有翻译", "台词", "台词说话者", "无需翻译", "自定义条目", "专有名词" , "颜色", "图标", "备注"]) # 添加标题行
# 17 列:删 RU/ES/PT/FR/德语 4 列,新增"次要文案"列
ws.append([
"ID", "活跃文本", "中文", "繁中", "英文", "日文", "韩文",
"次要文案",
"专有翻译", "台词", "台词说话者", "无需翻译", "自定义条目", "专有名词",
"颜色", "图标", "备注",
])
for row in records:
ws.append(row)

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@ -20,13 +20,17 @@ def convert_excel_to_txt():
wb = openpyxl.load_workbook(excel_path)
ws = wb.active
# xlsx 17 列ID, 活跃, 中文, 繁中, 英文, 日文, 韩文, 次要文案,
# 专翻, 台词, 说话者, 无需翻, 自定义, 专名, 颜色, 图标, 备注
# TXT 16 字段:丢掉最末备注列(编辑器侧 ExcelExportToAsset 不需要备注)
TXT_FIELD_COUNT = 16
records = []
for row in ws.iter_rows(min_row=2, values_only=True):
normalized_row = [str(cell).strip() if cell is not None else "" for cell in row]
if len(normalized_row) >= 19:
records.append(normalized_row[:19])
if len(normalized_row) >= TXT_FIELD_COUNT:
records.append(normalized_row[:TXT_FIELD_COUNT])
else:
records.append(normalized_row + [""]*(19-len(normalized_row)))
records.append(normalized_row + [""] * (TXT_FIELD_COUNT - len(normalized_row)))
if not records:
log("错误:Excel中没有有效数据")

3734
Tools/term_dict.json Normal file

File diff suppressed because it is too large Load Diff

2546
Tools/term_dict_en.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e2b2e6cc769e6ad4786f0e8a2fee4aee
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 16f7b907e8462574f8c9ac4e2670a8a4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: 734d91a0aa17ea441803399d3a1757f1
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a54bb28483c8d7345b5ce5561e9fc31e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: dd51e9bf97387ed47a32fde26fa5d413
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans Arabic
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5703dc57335dc674593a3f6a1d089fa6
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: bd5a5e84ba89bb04aa6f1cb365e8d9b0
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans Hebrew
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b2ea96d6a11ed2542a1aae44779bf8e5
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,21 @@
fileFormatVersion: 2
guid: e30a7565dcd76904894a8d3293bab060
TrueTypeFontImporter:
externalObjects: {}
serializedVersion: 4
fontSize: 16
forceTextureCase: -2
characterSpacing: 0
characterPadding: 1
includeFontData: 1
fontNames:
- Noto Sans Thai
fallbackFontReferences: []
customCharacters:
fontRenderingMode: 0
ascentCalculationMode: 1
useLegacyBoundsCalculation: 0
shouldRoundAdvanceValue: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 754bd9c88fe7a1b40baea4a39328d5bf
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 1163378b9a43748438e0e44d1077f1e1
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 3b0940f9645ef7140a12a24d16d31018
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 2
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 29edab76afede21498d337d669ceec27
AudioImporter:
externalObjects: {}
serializedVersion: 7
defaultSettings:
serializedVersion: 2
loadType: 2
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -275,7 +275,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 2a4ad67b591928a468df8e8c13ed4657, type: 3}
- CivId: 2
Civ: 2
CivName: "\u666E\u9C81\u58EB"
CivName: "\u5FB7\u610F\u5FD7"
CityInfoList:
- CivId: 2
CityNameEnum: 60
@ -535,7 +535,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 43ac0960e13ced04a87236073f6198ec, type: 3}
- CivId: 4
Civ: 4
CivName: "\u5317\u6D77"
CivName: "\u7EF4\u4EAC"
CityInfoList:
- CivId: 4
CityNameEnum: 120

View File

@ -0,0 +1,226 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7068380a3aa14935af744fe625794107, type: 3}
m_Name: MusicDataAssets
m_EditorClassIdentifier:
MusicDataList:
- MusicName: Main
MusicClip: {fileID: 8300000, guid: 7b636031528d30b4d8c555229142b2c2, type: 3}
CoverSprite: {fileID: 21300000, guid: c83143eef4dcded45b6e4d457f2bcec1, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u4E3B\u83DC\u5355BGM"
OriginalTitle: "\u8D64\u3088\u308A\u7D05\u3044\u5922 "
Force: 0
Civ: 0
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: Story
MusicClip: {fileID: 8300000, guid: 87490ff82cfb3a349891745e50e67d90, type: 3}
CoverSprite: {fileID: 21300000, guid: 09a1d742ad9d2ee4caeeea52c96b31a8, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u5E8F\u7AE0BGM"
OriginalTitle: "\u304A\u3066\u3093\u3070\u604B\u5A18 "
Force: 0
Civ: 0
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: RemiliaEgyptian
MusicClip: {fileID: 8300000, guid: 8f4b55a6b0b10914d9a77c1fc0eefb76, type: 3}
CoverSprite: {fileID: 21300000, guid: 41539b2994045fb4897fa63698c04912, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u65AF\u5361\u96F7\u7279\u5E1D\u56FDBGM"
OriginalTitle: "\u4EA1\u304D\u738B\u5973\u306E\u70BA\u306E\u30BB\u30D7\u30C6\u30C3\u30C8"
Force: 1
Civ: 1
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: KaguyaFrench
MusicClip: {fileID: 8300000, guid: 619baaa3fbef00a48b6f90fa6ead2342, type: 3}
CoverSprite: {fileID: 21300000, guid: bbd7632369029b446ba7c3511796d4ef, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u84EC\u83B1\u5C71\u5E1D\u56FDBGM"
OriginalTitle: "\u7AF9\u53D6\u98DB\u7FD4\u3000\uFF5E Lunatic Princess "
Force: 2
Civ: 2
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: KanakoGermany
MusicClip: {fileID: 8300000, guid: fcc0f8ea7c37de54483b407474693e73, type: 3}
CoverSprite: {fileID: 21300000, guid: 06c171d81e9c5654e91ee63782215264, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u5B88\u77E2\u5E1D\u56FDBGM"
OriginalTitle: "\u795E\u3055\u3073\u305F\u53E4\u6226\u5834\u3000\uFF5E Suwa Foughten
Field"
Force: 3
Civ: 3
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: SatoriIndian
MusicClip: {fileID: 8300000, guid: d1a5b275d49825b4f815e90bcc027dfe, type: 3}
CoverSprite: {fileID: 21300000, guid: 37c2125556ffd33438be7d85d95d1947, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u53E4\u660E\u5730\u5E1D\u56FDBGM"
OriginalTitle: "\u5C11\u5973\u3055\u3068\u308A\u3000\uFF5E 3rd eye "
Force: 4
Civ: 4
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: ReimuNorway
MusicClip: {fileID: 8300000, guid: 1bcf97b5e2be0434288bfcd87f293ef7, type: 3}
CoverSprite: {fileID: 21300000, guid: 410ea7960b94c344b9e977cc6ce48506, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u535A\u4E3D\u5E1D\u56FDBGM"
OriginalTitle: "\u5C11\u5973\u7DBA\u60F3\u66F2 \uFF5E Dream Battle"
Force: 5
Civ: 5
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: ByakurenBritish
MusicClip: {fileID: 8300000, guid: b6c0b2b9b354ce94cbf2b668fbf2fba0, type: 3}
CoverSprite: {fileID: 21300000, guid: 97a1cd5a837d3e84f9adca403b2b4ee7, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u547D\u83B2\u5E1D\u56FDBGM"
OriginalTitle: "\u611F\u60C5\u306E\u6469\u5929\u697C \uFF5E Cosmic Mind"
Force: 6
Civ: 6
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: MikoPersian
MusicClip: {fileID: 8300000, guid: b555babd22b0e19439302c769dd7052d, type: 3}
CoverSprite: {fileID: 21300000, guid: 48b938f7b519b294bac8b6ae81249bcb, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u4E30\u806A\u8033\u5E1D\u56FDBGM"
OriginalTitle: "\u8056\u5FB3\u4F1D\u8AAC \uFF5E True Administrator"
Force: 7
Civ: 7
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: ZanmuByzantine
MusicClip: {fileID: 8300000, guid: 7070486a7360e1249b37de795d9a8c05, type: 3}
CoverSprite: {fileID: 21300000, guid: 18aa3c46d044a164bad99019576dc349, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u65E5\u767D\u5E1D\u56FDBGM"
OriginalTitle: "\u9038\u8131\u8005\u9054\u306E\u7121\u7919\u5149 \uFF5E Kingdom
of Nothingness."
Force: 8
Civ: 8
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: SaigyoujiSumerian
MusicClip: {fileID: 8300000, guid: 29edab76afede21498d337d669ceec27, type: 3}
CoverSprite: {fileID: 21300000, guid: cc7120c361939b344ab374c9d39c4c42, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u767D\u7389\u5E1D\u56FDBGM"
OriginalTitle: "\u5E7D\u96C5\u306B\u54B2\u304B\u305B\u3001\u58A8\u67D3\u306E\u685C
\uFF5E Border of Life"
Force: 9
Civ: 9
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: LapisMayan
MusicClip: {fileID: 8300000, guid: 407d8600ba4cc3a408d5505e7dd61864, type: 3}
CoverSprite: {fileID: 21300000, guid: 5d2bda6ce5113ea4b81ba02dc58f8aea, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u62C9\u78A7\u65AF\u5E1D\u56FDBGM"
OriginalTitle: "\u30D1\u30F3\u30C7\u30E2\u30CB\u30C3\u30AF\u30D7\u30E9\u30CD\u30C3\u30C8"
Force: 10
Civ: 10
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: IizunamaruMalian
MusicClip: {fileID: 8300000, guid: e70354b529f3dce41bd6b5253c630b12, type: 3}
CoverSprite: {fileID: 21300000, guid: b357988d162ecc44ca823c824c158b4a, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u5929\u72D7\u5E1D\u56FDBGM"
OriginalTitle: "\u661F\u964D\u308B\u5929\u9B54\u306E\u5C71"
Force: 11
Civ: 11
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: CirnoGreek
MusicClip: {fileID: 8300000, guid: 2b0a99ddf7c3d3941bf4bcd8dae51e97, type: 3}
CoverSprite: {fileID: 21300000, guid: f59755f8786d1ba4682447312cecca31, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u65E0\u654C\u5389\u5BB3\u5E1D\u56FDBGM"
OriginalTitle: "\u304A\u3066\u3093\u3070\u604B\u5A18 "
Force: 12
Civ: 12
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: HinanawiAztec
MusicClip: {fileID: 8300000, guid: a9fdaf03cf6a3fe4c8d2dc34cf501b3b, type: 3}
CoverSprite: {fileID: 21300000, guid: 414d88f99bd80bd4d9ab0a38c270ab7a, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u6BD4\u90A3\u540D\u5C45\u5E1D\u56FDBGM"
OriginalTitle: "\u6709\u9802\u5929\u5909 \uFF5E Wonderful Heaven"
Force: 14
Civ: 14
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:
- MusicName: ChirizukaIncan
MusicClip: {fileID: 8300000, guid: 3b0940f9645ef7140a12a24d16d31018, type: 3}
CoverSprite: {fileID: 21300000, guid: 515188a2ccc6f5244bea5da674ac6b18, type: 3}
BackgroundSprite: {fileID: 0}
Title: "\u5723\u57DF\u5E1D\u56FDBGM"
OriginalTitle: "\u4F8B\u3048\u4E16\u754C\u304B\u3089\u5FD8\u308C\u3089\u308C\u3066\u3082"
Force: 15
Civ: 15
Composer: ZUN
Arranger: "\u56DE\u58F0\u8231"
Mixer:
Vocalist:
Illustrator:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 12d2e82739a54a919206a472bd7a8536
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -299,7 +299,7 @@ MonoBehaviour:
MeetChatBubble: []
LoseChatBubble: []
WinChatBubble: []
MusicName:
MusicName: SaigyoujiSumerian
- ForceId: 9
CivId: 9
CivName: "\u739B\u96C5"
@ -431,7 +431,7 @@ MonoBehaviour:
MeetChatBubble: []
LoseChatBubble: []
WinChatBubble: []
MusicName:
MusicName: ChirizukaIncan
- ForceId: 15
CivId: 15
CivName: "\u8499\u53E4"

View File

@ -304,3 +304,8 @@ MonoBehaviour:
WaterPreserveName: "\u6D77\u5CB8\u4FDD\u62A4\u533A"
NationParkName: "\u56FD\u5BB6\u516C\u56ED"
NetChatPlaceHolder: "\u4E0D\u53CB\u597D\u53D1\u8A00\u4F1A\u88AB\u56DB\u5B63\u5927\u4EBA\u6279\u8BC4\u54E6!"
OutsideModQueryNotStarted: "\u70B9\u51FB\u67E5\u8BE2\u521B\u610F\u5DE5\u574A"
OutsideModQueryInProgress: "\u6B63\u5728\u67E5\u8BE2\u4E2D..."
OutsideModQueryLoaded: "\u5DF2\u52A0\u8F7D {param} / {param}"
OutsideModExportInProgress: "\u6B63\u5728\u5BFC\u51FA\u4E2D..."
OutsideModExportSucceeded: "\u5BFC\u51FA\u5B8C\u6210!"

View File

@ -275,7 +275,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 2a4ad67b591928a468df8e8c13ed4657, type: 3}
- CivId: 2
Civ: 2
CivName: 183
CivName: 1636
CityInfoList:
- CivId: 2
CityNameEnum: 60
@ -535,7 +535,7 @@ MonoBehaviour:
- {fileID: 21300000, guid: 43ac0960e13ced04a87236073f6198ec, type: 3}
- CivId: 4
Civ: 4
CivName: 17271
CivName: 2392
CityInfoList:
- CivId: 4
CityNameEnum: 120

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,223 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7068380a3aa14935af744fe625794107, type: 3}
m_Name: MusicDataAssets
m_EditorClassIdentifier:
MusicDataList:
- MusicName: Main
MusicClip: {fileID: 8300000, guid: 7b636031528d30b4d8c555229142b2c2, type: 3}
CoverSprite: {fileID: 21300000, guid: c83143eef4dcded45b6e4d457f2bcec1, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19690
OriginalTitle: 19691
Force: 0
Civ: 0
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: Story
MusicClip: {fileID: 8300000, guid: 87490ff82cfb3a349891745e50e67d90, type: 3}
CoverSprite: {fileID: 21300000, guid: 09a1d742ad9d2ee4caeeea52c96b31a8, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19695
OriginalTitle: 19696
Force: 0
Civ: 0
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: RemiliaEgyptian
MusicClip: {fileID: 8300000, guid: 8f4b55a6b0b10914d9a77c1fc0eefb76, type: 3}
CoverSprite: {fileID: 21300000, guid: 41539b2994045fb4897fa63698c04912, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19697
OriginalTitle: 19714
Force: 1
Civ: 1
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: KaguyaFrench
MusicClip: {fileID: 8300000, guid: 619baaa3fbef00a48b6f90fa6ead2342, type: 3}
CoverSprite: {fileID: 21300000, guid: bbd7632369029b446ba7c3511796d4ef, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19698
OriginalTitle: 19715
Force: 2
Civ: 2
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: KanakoGermany
MusicClip: {fileID: 8300000, guid: fcc0f8ea7c37de54483b407474693e73, type: 3}
CoverSprite: {fileID: 21300000, guid: 06c171d81e9c5654e91ee63782215264, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19699
OriginalTitle: 19716
Force: 3
Civ: 3
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: SatoriIndian
MusicClip: {fileID: 8300000, guid: d1a5b275d49825b4f815e90bcc027dfe, type: 3}
CoverSprite: {fileID: 21300000, guid: 37c2125556ffd33438be7d85d95d1947, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19700
OriginalTitle: 19717
Force: 4
Civ: 4
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: ReimuNorway
MusicClip: {fileID: 8300000, guid: 1bcf97b5e2be0434288bfcd87f293ef7, type: 3}
CoverSprite: {fileID: 21300000, guid: 410ea7960b94c344b9e977cc6ce48506, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19701
OriginalTitle: 19718
Force: 5
Civ: 5
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: ByakurenBritish
MusicClip: {fileID: 8300000, guid: b6c0b2b9b354ce94cbf2b668fbf2fba0, type: 3}
CoverSprite: {fileID: 21300000, guid: 97a1cd5a837d3e84f9adca403b2b4ee7, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19702
OriginalTitle: 19719
Force: 6
Civ: 6
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: MikoPersian
MusicClip: {fileID: 8300000, guid: b555babd22b0e19439302c769dd7052d, type: 3}
CoverSprite: {fileID: 21300000, guid: 48b938f7b519b294bac8b6ae81249bcb, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19703
OriginalTitle: 19720
Force: 7
Civ: 7
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: ZanmuByzantine
MusicClip: {fileID: 8300000, guid: 7070486a7360e1249b37de795d9a8c05, type: 3}
CoverSprite: {fileID: 21300000, guid: 18aa3c46d044a164bad99019576dc349, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19704
OriginalTitle: 19721
Force: 8
Civ: 8
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: SaigyoujiSumerian
MusicClip: {fileID: 8300000, guid: 29edab76afede21498d337d669ceec27, type: 3}
CoverSprite: {fileID: 21300000, guid: cc7120c361939b344ab374c9d39c4c42, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19705
OriginalTitle: 19722
Force: 9
Civ: 9
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: LapisMayan
MusicClip: {fileID: 8300000, guid: 407d8600ba4cc3a408d5505e7dd61864, type: 3}
CoverSprite: {fileID: 21300000, guid: 5d2bda6ce5113ea4b81ba02dc58f8aea, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19706
OriginalTitle: 19723
Force: 10
Civ: 10
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: IizunamaruMalian
MusicClip: {fileID: 8300000, guid: e70354b529f3dce41bd6b5253c630b12, type: 3}
CoverSprite: {fileID: 21300000, guid: b357988d162ecc44ca823c824c158b4a, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19707
OriginalTitle: 19724
Force: 11
Civ: 11
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: CirnoGreek
MusicClip: {fileID: 8300000, guid: 2b0a99ddf7c3d3941bf4bcd8dae51e97, type: 3}
CoverSprite: {fileID: 21300000, guid: f59755f8786d1ba4682447312cecca31, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19708
OriginalTitle: 19696
Force: 12
Civ: 12
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: HinanawiAztec
MusicClip: {fileID: 8300000, guid: a9fdaf03cf6a3fe4c8d2dc34cf501b3b, type: 3}
CoverSprite: {fileID: 21300000, guid: 414d88f99bd80bd4d9ab0a38c270ab7a, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19709
OriginalTitle: 19725
Force: 14
Civ: 14
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:
- MusicName: ChirizukaIncan
MusicClip: {fileID: 8300000, guid: 3b0940f9645ef7140a12a24d16d31018, type: 3}
CoverSprite: {fileID: 21300000, guid: 515188a2ccc6f5244bea5da674ac6b18, type: 3}
BackgroundSprite: {fileID: 0}
Title: 19710
OriginalTitle: 19726
Force: 15
Civ: 15
Composer: 19692
Arranger: 19693
Mixer:
Vocalist:
Illustrator:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b0ba1639a9e40d344920e0035bbc811a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -296,7 +296,7 @@ MonoBehaviour:
MeetChatBubble: []
LoseChatBubble: []
WinChatBubble: []
MusicName:
MusicName: SaigyoujiSumerian
- ForceId: 9
CivId: 9
CivName: 19027
@ -428,7 +428,7 @@ MonoBehaviour:
MeetChatBubble: []
LoseChatBubble: []
WinChatBubble: []
MusicName:
MusicName: ChirizukaIncan
- ForceId: 15
CivId: 15
CivName: 19202

View File

@ -123,3 +123,10 @@ MonoBehaviour:
WaterPreserveName: 17342
NationParkName: 17343
NetChatPlaceHolder: 18959
OutsideModQueryNotStarted: 19618
OutsideModQueryInProgress: 19599
OutsideModQueryLoaded: 19619
OutsideModExportInProgress: 19651
OutsideModExportSucceeded: 19655
OutsideModUploadPreviewDetected:
OutsideModUploadPreviewNotProvided:

View File

@ -17,17 +17,17 @@ MonoBehaviour:
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1
Description: 19588
Description: 19626
FourthVersion: 5
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1
Description: 19551
Description: 19627
FourthVersion: 4
- MajorVersion: 0
MinorVersion: 7
PatchVersion: 1
Description: 19539
Description: 19628
FourthVersion: 3
- MajorVersion: 0
MinorVersion: 7

View File

@ -378,7 +378,7 @@ MonoBehaviour:
Types: 0300000082000000
DescItems:
- DescType: 0
Desc: 19533
Desc: 19629
UseHint: 0
HintProvider:
HintDataType: 0

View File

@ -1328,5 +1328,11 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18954
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0

View File

@ -188,8 +188,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18971
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7077246777857804027
GameObject:
m_ObjectHideFlags: 0

View File

@ -4363,8 +4363,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18639
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!224 &2621553783464108823 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 19837280825370080, guid: 19402153ee79dbc4e80a78f3222e6b47, type: 3}

View File

@ -151,8 +151,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18639
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1484864756966099653
GameObject:
m_ObjectHideFlags: 0
@ -1964,7 +1970,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 475.04083, y: -253.69449}
m_SizeDelta: {x: 830.08167, y: 137.3574}
m_SizeDelta: {x: 0, y: 137.3574}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1640998311177812195
MonoBehaviour:

View File

@ -921,8 +921,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18954
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!114 &6662476954447050023 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: -1084591119027101579, guid: a3219b8bdc414264e87cb080245b9a45, type: 3}

View File

@ -521,8 +521,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18094
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &696287606196954441
GameObject:
m_ObjectHideFlags: 0
@ -1817,8 +1823,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18679
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2467682526022886692
GameObject:
m_ObjectHideFlags: 0
@ -2400,8 +2412,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18680
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2815645136031220954
GameObject:
m_ObjectHideFlags: 0
@ -2568,8 +2586,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18703
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2907480520167680622
GameObject:
m_ObjectHideFlags: 0
@ -4675,8 +4699,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 16657
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &5458195469017056080
GameObject:
m_ObjectHideFlags: 0
@ -5146,8 +5176,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18678
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &6001073469445296752
GameObject:
m_ObjectHideFlags: 0
@ -6031,8 +6067,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18702
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7457720741632883054
GameObject:
m_ObjectHideFlags: 0
@ -6714,8 +6756,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 16941
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8710762835605978114
GameObject:
m_ObjectHideFlags: 0

View File

@ -734,7 +734,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18114
FontID: 1
FontID: 2
TextCfg:
- Type: 1
FontSize: 22
@ -1125,7 +1125,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18229
FontID: 1
FontID: 2
TextCfg:
- Type: 1
FontSize: 22

View File

@ -729,8 +729,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18657
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4719376178416544418
GameObject:
m_ObjectHideFlags: 0
@ -1200,8 +1206,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18835
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 18.85
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &6273528252241200600
GameObject:
m_ObjectHideFlags: 0
@ -1502,8 +1514,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18836
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8815063569786698475
GameObject:
m_ObjectHideFlags: 0

View File

@ -4079,8 +4079,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18097
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4930310677127297208
GameObject:
m_ObjectHideFlags: 0

View File

@ -5893,8 +5893,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18820
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1001 &3559152577244099861
PrefabInstance:
m_ObjectHideFlags: 0
@ -6367,8 +6373,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18820
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!224 &6287727356447257098 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 2297799915912419130, guid: 08691a9455a11ed4e86496ad244b552d, type: 3}
@ -6506,8 +6518,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18820
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!114 &8427155378226373277 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1680195858608278765, guid: 08691a9455a11ed4e86496ad244b552d, type: 3}

View File

@ -1894,8 +1894,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18820
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8429036695447882306
GameObject:
m_ObjectHideFlags: 0

View File

@ -5231,8 +5231,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 17016
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &6614534362706645069
GameObject:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fb0641be7df17f1489b938bde7529f8b
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,579 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4222246038027370276
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 684971952957050526}
- component: {fileID: 693814865952447330}
- component: {fileID: 1496304723825528531}
- component: {fileID: 4376287558246049275}
- component: {fileID: 5393245234908178869}
- component: {fileID: 987936631509972391}
- component: {fileID: 7048831547613661901}
- component: {fileID: 8523775937724716072}
- component: {fileID: 2083516236065523486}
m_Layer: 5
m_Name: UIOutsideLibraryMusicPanelItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &684971952957050526
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.99992007, y: 0.99992007, z: 0.99992007}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 7050530331999408935}
- {fileID: 1899998078173055787}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 457.4908, y: 57.751}
m_Pivot: {x: 0, y: 1}
--- !u!225 &693814865952447330
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!95 &1496304723825528531
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &4376287558246049275
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 1496304723825528531}
_ActionOnDisable: 0
--- !u!222 &5393245234908178869
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_CullTransparentMesh: 1
--- !u!114 &987936631509972391
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 15
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 3
m_Spacing: 5
m_ChildForceExpandWidth: 0
m_ChildForceExpandHeight: 0
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!114 &7048831547613661901
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!82 &8523775937724716072
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &2083516236065523486
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4222246038027370276}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ca3dc045ddf318948a72435b145300b5, type: 3}
m_Name:
m_EditorClassIdentifier:
Button: {fileID: 7048831547613661901}
Name: {fileID: 4571323257972118146}
BackgroundImage: {fileID: 7547678381240141880}
NormalSprite: {fileID: 21300000, guid: 3fac8a7d684b4304ca5a82b2221f05b4, type: 3}
SelectedSprite: {fileID: 21300000, guid: 0393229a85e05084c823e5446acb3bd3, type: 3}
--- !u!1 &5716511563657373780
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1899998078173055787}
- component: {fileID: 6662133610261952758}
- component: {fileID: 4571323257972118146}
- component: {fileID: 5834832541328722006}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1899998078173055787
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716511563657373780}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 684971952957050526}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 442.49, y: 39.7813}
m_Pivot: {x: 0, y: 1}
--- !u!222 &6662133610261952758
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716511563657373780}
m_CullTransparentMesh: 1
--- !u!114 &4571323257972118146
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716511563657373780}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "mod\u540D\u79F012345"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4285283138
m_fontColor: {r: 0.25882354, g: 0.23137257, b: 0.42352945, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 12
m_fontSizeMax: 24
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 1
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &5834832541328722006
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5716511563657373780}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19613
FontID: 0
TextCfg: []
--- !u!1 &7882788368176633492
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7050530331999408935}
- component: {fileID: 5381641913129644325}
- component: {fileID: 7547678381240141880}
- component: {fileID: 7561576256147479028}
- component: {fileID: 2113543427125217098}
m_Layer: 5
m_Name: RowBG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7050530331999408935
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7882788368176633492}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 684971952957050526}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 229.47, y: -28.177}
m_SizeDelta: {x: 456.05, y: 59.148}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &5381641913129644325
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7882788368176633492}
m_CullTransparentMesh: 1
--- !u!114 &7547678381240141880
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7882788368176633492}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3fac8a7d684b4304ca5a82b2221f05b4, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &7561576256147479028
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7882788368176633492}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!114 &2113543427125217098
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7882788368176633492}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 7547678381240141880}
m_OnClick:
m_PersistentCalls:
m_Calls: []

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a20241d84db198f489564e0266e113d2
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -562,82 +562,6 @@ MonoBehaviour:
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1879721781707541527
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8942499352905775916}
- component: {fileID: 2039883182021732312}
- component: {fileID: 1340814323595926625}
m_Layer: 5
m_Name: LanguageHint
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &8942499352905775916
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1879721781707541527}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 8764360816059206459}
m_Father: {fileID: 4735088385716738539}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 521, y: -306}
m_SizeDelta: {x: 797.74, y: 201.16}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2039883182021732312
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1879721781707541527}
m_CullTransparentMesh: 1
--- !u!114 &1340814323595926625
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1879721781707541527}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: d77800546ba2033439663bad7cfe6ade, type: 3}
m_Type: 0
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &2079291428609866665
GameObject:
m_ObjectHideFlags: 0
@ -874,167 +798,6 @@ MonoBehaviour:
clickSound: {fileID: 0}
pressScale: 0.8
scaleDuration: 0.1
--- !u!1 &2300483352673148265
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8764360816059206459}
- component: {fileID: 8984718006649493638}
- component: {fileID: 8838638089921756414}
- component: {fileID: 9026083176968655829}
m_Layer: 5
m_Name: text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8764360816059206459
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2300483352673148265}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 8942499352905775916}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 1.15, y: -4.03}
m_SizeDelta: {x: 737.96, y: 152.31}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8984718006649493638
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2300483352673148265}
m_CullTransparentMesh: 1
--- !u!114 &8838638089921756414
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2300483352673148265}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: Heads-up! The current version of the game is in **<Chinese >**only.**<
English >**and more languages are on the way. Thank you for your patience and
support!
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_sharedMaterial: {fileID: 2147374, guid: 0161d805a3764c089bef00bfe00793f5, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 30
m_fontSizeBase: 30
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 256
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &9026083176968655829
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2300483352673148265}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19587
FontID: 0
TextCfg:
- Type: 1
FontSize: 30
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2717726101838707478
GameObject:
m_ObjectHideFlags: 0
@ -1556,7 +1319,6 @@ RectTransform:
- {fileID: 1486127346949497132}
- {fileID: 5495672752652128589}
- {fileID: 3291338575575828537}
- {fileID: 8942499352905775916}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -2245,7 +2007,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 1356
FontID: 0
FontID: 1
TextCfg:
- Type: 1
FontSize: 44
@ -5408,6 +5170,15 @@ PrefabInstance:
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents:
- targetCorrespondingSourceObject: {fileID: 126363922834258964, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
insertIndex: -1
addedObject: {fileID: 5273806433930155891}
- targetCorrespondingSourceObject: {fileID: 9146768061771214754, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
insertIndex: -1
addedObject: {fileID: 7458571339483870116}
- targetCorrespondingSourceObject: {fileID: 8226074080889089669, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
insertIndex: -1
addedObject: {fileID: -8467819398350579089}
- targetCorrespondingSourceObject: {fileID: 4932841696457065209, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
insertIndex: -1
addedObject: {fileID: 3109624343069935943}
@ -5439,6 +5210,64 @@ PrefabInstance:
insertIndex: -1
addedObject: {fileID: -8237241074567132062}
m_SourcePrefab: {fileID: 100100000, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
--- !u!1 &189583171284260433 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 8226074080889089669, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
m_PrefabInstance: {fileID: 8109129329268193492}
m_PrefabAsset: {fileID: 0}
--- !u!114 &-8467819398350579089
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 189583171284260433}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19592
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1037713843435444086 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 9146768061771214754, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
m_PrefabInstance: {fileID: 8109129329268193492}
m_PrefabAsset: {fileID: 0}
--- !u!114 &7458571339483870116
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1037713843435444086}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19591
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!224 &1158989618824106563 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 6961690653480397463, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
@ -5716,6 +5545,35 @@ MonoBehaviour:
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8163202551241409728 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 126363922834258964, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}
m_PrefabInstance: {fileID: 8109129329268193492}
m_PrefabAsset: {fileID: 0}
--- !u!114 &5273806433930155891
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8163202551241409728}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19590
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &9106212852338808754 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1069233820361502566, guid: 85f85b7873bcc0248bb04a7092bc860f, type: 3}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 90104b021ca26e04daf6da8989c4c626
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: b41c535961fd7454c8c41c28198444bf
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2610,8 +2610,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 9694
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &589401681400628755
GameObject:
m_ObjectHideFlags: 0
@ -2973,8 +2979,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18647
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &665046725290323115
GameObject:
m_ObjectHideFlags: 0
@ -9819,8 +9831,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18646
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &3100308955523422925
GameObject:
m_ObjectHideFlags: 0
@ -14472,8 +14490,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18645
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4516103142721134487
GameObject:
m_ObjectHideFlags: 0
@ -17691,8 +17715,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18644
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &5159050449212594206
GameObject:
m_ObjectHideFlags: 0
@ -22661,8 +22691,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18648
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &6536940122563840917
GameObject:
m_ObjectHideFlags: 0

View File

@ -763,8 +763,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18646
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &380888914597308356
GameObject:
m_ObjectHideFlags: 0
@ -1395,8 +1401,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19290
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1077321070240642054
GameObject:
m_ObjectHideFlags: 0
@ -2155,8 +2167,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18647
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1957211148209916739
GameObject:
m_ObjectHideFlags: 0
@ -2557,8 +2575,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18644
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2096674672284999129
GameObject:
m_ObjectHideFlags: 0
@ -2880,8 +2904,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18648
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2767621219476062062
GameObject:
m_ObjectHideFlags: 0
@ -3078,8 +3108,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 9694
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2810266083062796998
GameObject:
m_ObjectHideFlags: 0
@ -10302,8 +10338,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18645
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &9046948515292874725
GameObject:
m_ObjectHideFlags: 0

View File

@ -205,6 +205,7 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 0
AIParamType: 0
CultureCardType: 0
locked: 0
TextData:
ActionType: 0
@ -223,6 +224,7 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 0
AIParamType: 0
CultureCardType: 0
TechAtom: 0
GeoIdList:
UnitFullType:
@ -230,3 +232,4 @@ MonoBehaviour:
GiantType: 0
UnitLevel: 0
PlayerTaskType: 0
WikiId: 0

View File

@ -0,0 +1,997 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1994450815369653487
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2933068527305694549}
- component: {fileID: 2924301688884447401}
- component: {fileID: 3888340555724184856}
- component: {fileID: 2129756551240807984}
- component: {fileID: 7777012743595784830}
- component: {fileID: 4676885853684308230}
- component: {fileID: 6304847168337987555}
- component: {fileID: 8109739391812347019}
m_Layer: 5
m_Name: UIOutsideUploadedModListItem
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &2933068527305694549
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.99992007, y: 0.99992007, z: 0.99992007}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4678496669594173676}
- {fileID: 4281795399525423328}
- {fileID: 8890773580384453281}
- {fileID: 7548890137115625986}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 458.1905, y: 81.5424}
m_Pivot: {x: 0, y: 1}
--- !u!225 &2924301688884447401
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
m_Alpha: 1
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!95 &3888340555724184856
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 0}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!114 &2129756551240807984
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0ad50f81b1d25c441943c37a89ba23f6, type: 3}
m_Name:
m_EditorClassIdentifier:
_Animator: {fileID: 3888340555724184856}
_ActionOnDisable: 0
--- !u!222 &7777012743595784830
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_CullTransparentMesh: 1
--- !u!114 &4676885853684308230
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 0}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!82 &6304847168337987555
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!114 &8109739391812347019
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1994450815369653487}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1da6a1bb56fe46942b785641bff3b6b4, type: 3}
m_Name:
m_EditorClassIdentifier:
TitleText: {fileID: 2181222562369601865}
FileIdText: {fileID: 1568204087895724572}
OpenInSteamButton: {fileID: 3538728898736032248}
--- !u!1 &4067447153135093681
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6971110257657795582}
- component: {fileID: 7949571931336931577}
- component: {fileID: 1851563025238916009}
- component: {fileID: -7196282138134733719}
m_Layer: 5
m_Name: Text
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6971110257657795582
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4067447153135093681}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7548890137115625986}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 76.739, y: -26.792}
m_SizeDelta: {x: 153.48, y: 53.584}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7949571931336931577
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4067447153135093681}
m_CullTransparentMesh: 1
--- !u!114 &1851563025238916009
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4067447153135093681}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "\u6253\u5F00"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: ce4904f8ddac15944907907115531ad5, type: 2}
m_sharedMaterial: {fileID: 1214840240034325189, guid: ce4904f8ddac15944907907115531ad5, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4294967295
m_fontColor: {r: 1, g: 1, b: 1, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 28
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 12
m_fontSizeMax: 28
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 1
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &-7196282138134733719
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4067447153135093681}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19675
FontID: 2
TextCfg:
- Type: 1
FontSize: 28
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &5499056035203941727
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4678496669594173676}
- component: {fileID: 7753710760898945774}
- component: {fileID: 5299440893517208563}
- component: {fileID: 5315872223603558975}
- component: {fileID: 4350768168807584897}
m_Layer: 5
m_Name: RowBG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4678496669594173676
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5499056035203941727}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2933068527305694549}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 229.47, y: -40.073}
m_SizeDelta: {x: 456.04, y: 82.939}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7753710760898945774
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5499056035203941727}
m_CullTransparentMesh: 1
--- !u!114 &5299440893517208563
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5499056035203941727}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 3fac8a7d684b4304ca5a82b2221f05b4, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!114 &5315872223603558975
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5499056035203941727}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreLayout: 1
m_MinWidth: -1
m_MinHeight: -1
m_PreferredWidth: -1
m_PreferredHeight: -1
m_FlexibleWidth: -1
m_FlexibleHeight: -1
m_LayoutPriority: 1
--- !u!114 &4350768168807584897
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5499056035203941727}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 0
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 5299440893517208563}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &5891402841628534297
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7548890137115625986}
- component: {fileID: 4397577438022710006}
- component: {fileID: 1833673081059012805}
- component: {fileID: 3538728898736032248}
m_Layer: 5
m_Name: OpenButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7548890137115625986
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891402841628534297}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.00016, y: 1.00016, z: 1.00016}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 6971110257657795582}
m_Father: {fileID: 2933068527305694549}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 539.23, y: -40.7712}
m_SizeDelta: {x: 153.48, y: 53.584}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4397577438022710006
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891402841628534297}
m_CullTransparentMesh: 1
--- !u!114 &1833673081059012805
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891402841628534297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 1e43ee4b2c787014db05c4f94b37be0e, type: 3}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 2
--- !u!114 &3538728898736032248
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5891402841628534297}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 1833673081059012805}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &7611871326031170906
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8890773580384453281}
- component: {fileID: 3604674441972486217}
- component: {fileID: 1568204087895724572}
- component: {fileID: 3157589622960652131}
m_Layer: 5
m_Name: FileId
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8890773580384453281
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7611871326031170906}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2933068527305694549}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 15, y: -35}
m_SizeDelta: {x: 442.49, y: 39.7813}
m_Pivot: {x: 0, y: 1}
--- !u!222 &3604674441972486217
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7611871326031170906}
m_CullTransparentMesh: 1
--- !u!114 &1568204087895724572
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7611871326031170906}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "mod\u540D\u79F012345"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4286545791
m_fontColor: {r: 0.49685526, g: 0.49685526, b: 0.49685526, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 22
m_fontSizeBase: 22
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 12
m_fontSizeMax: 24
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 1
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &3157589622960652131
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7611871326031170906}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19613
FontID: 1
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7953630649276349343
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4281795399525423328}
- component: {fileID: 9025634960335825725}
- component: {fileID: 2181222562369601865}
- component: {fileID: 7169040780846218024}
m_Layer: 5
m_Name: Name
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4281795399525423328
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7953630649276349343}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 2933068527305694549}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 15, y: -4}
m_SizeDelta: {x: 442.49, y: 39.7813}
m_Pivot: {x: 0, y: 1}
--- !u!222 &9025634960335825725
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7953630649276349343}
m_CullTransparentMesh: 1
--- !u!114 &2181222562369601865
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7953630649276349343}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 0
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "mod\u540D\u79F012345"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_sharedMaterial: {fileID: -8081454072124122709, guid: 8e119f168f1a6b745be02ef19f51610f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4285283138
m_fontColor: {r: 0.25882354, g: 0.23137257, b: 0.42352945, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 24
m_fontSizeBase: 24
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 12
m_fontSizeMax: 24
m_fontStyle: 0
m_HorizontalAlignment: 1
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 0
m_wordWrappingRatios: 0.4
m_overflowMode: 1
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!114 &7169040780846218024
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7953630649276349343}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
NoExport: 0
FontBan: 0
ID: 19613
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a213813c8561a3a479e08f1e3ceb64e3
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -844,8 +844,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19494
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1515226799700260099
GameObject:
m_ObjectHideFlags: 0
@ -3635,8 +3641,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 132
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 34
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &6600203923704012748
GameObject:
m_ObjectHideFlags: 0

View File

@ -451,7 +451,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19456
FontID: 2
FontID: 1
TextCfg:
- Type: 1
FontSize: 26

View File

@ -249,8 +249,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &270313739145993039
GameObject:
m_ObjectHideFlags: 0
@ -417,8 +423,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1856361994805601594
GameObject:
m_ObjectHideFlags: 0
@ -663,8 +675,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19528
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2166778125900124478
GameObject:
m_ObjectHideFlags: 0
@ -1270,8 +1288,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &3657685732698685985
GameObject:
m_ObjectHideFlags: 0
@ -1438,8 +1462,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19514
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4109139912823217547
GameObject:
m_ObjectHideFlags: 0
@ -1606,8 +1636,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4187839294406587305
GameObject:
m_ObjectHideFlags: 0
@ -1774,8 +1810,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19520
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4781020811487135850
GameObject:
m_ObjectHideFlags: 0
@ -1942,8 +1984,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19459
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &4834928516657227807
GameObject:
m_ObjectHideFlags: 0
@ -2188,8 +2236,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19521
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &5939042175686170409
GameObject:
m_ObjectHideFlags: 0
@ -2671,8 +2725,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19519
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7409366194899258898
GameObject:
m_ObjectHideFlags: 0
@ -2839,8 +2899,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7526140422899366446
GameObject:
m_ObjectHideFlags: 0
@ -3007,8 +3073,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19501
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &7948633303571451860
GameObject:
m_ObjectHideFlags: 0
@ -3276,8 +3348,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19458
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 22
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8979668222590829471
GameObject:
m_ObjectHideFlags: 0

View File

@ -151,8 +151,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19538
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &5754249080142146628
GameObject:
m_ObjectHideFlags: 0

View File

@ -701,8 +701,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 1634
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 24
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &8461718181888388301
GameObject:
m_ObjectHideFlags: 0

View File

@ -451,7 +451,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 19456
FontID: 2
FontID: 1
TextCfg:
- Type: 1
FontSize: 26

File diff suppressed because it is too large Load Diff

View File

@ -166,7 +166,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 1
ID: 17063
FontID: 0
FontID: 1
TextCfg:
- Type: 0
FontSize: 30
@ -1424,7 +1424,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 1
ID: 17063
FontID: 0
FontID: 1
TextCfg:
- Type: 0
FontSize: 30
@ -2707,7 +2707,7 @@ MonoBehaviour:
NoExport: 0
FontBan: 1
ID: 18251
FontID: 0
FontID: 1
TextCfg:
- Type: 0
FontSize: 30

View File

@ -1201,7 +1201,13 @@ MonoBehaviour:
FontBan: 0
ID: 122
FontID: 0
TextCfg: []
TextCfg:
- Type: 1
FontSize: 26
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2502325710170807528
GameObject:
m_ObjectHideFlags: 0

View File

@ -1357,8 +1357,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18678
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &222783544
GameObject:
m_ObjectHideFlags: 0
@ -2160,8 +2166,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18702
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &338211198
GameObject:
m_ObjectHideFlags: 0
@ -3255,8 +3267,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18680
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &519420028
GameObject:
m_ObjectHideFlags: 0
@ -5057,8 +5075,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18672
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 12
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &677869773
GameObject:
m_ObjectHideFlags: 0
@ -10194,8 +10218,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18679
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 19
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1395971461
GameObject:
m_ObjectHideFlags: 0
@ -12926,8 +12956,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18703
FontID: 0
TextCfg: []
FontID: 2
TextCfg:
- Type: 1
FontSize: 18
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &1766509757
GameObject:
m_ObjectHideFlags: 0
@ -14895,8 +14931,14 @@ MonoBehaviour:
NoExport: 0
FontBan: 0
ID: 18094
FontID: 0
TextCfg: []
FontID: 1
TextCfg:
- Type: 1
FontSize: 20
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
--- !u!1 &2146892284
GameObject:
m_ObjectHideFlags: 0

View File

@ -27,6 +27,16 @@ namespace Logic.Audio
private GameObject AudioRoot;
private Dictionary<string, float> _musicRecord;
/// <summary>
/// 获取当前正在播放的BGM名(用于UI侧暂存,无在播则返回null)
/// </summary>
public string GetCurrentMusicName()
{
if (_musicPlayer == null) return null;
if (_musicPlayer.State == PlayerState.Finished || _musicPlayer.State == PlayerState.Prepare) return null;
return _musicPlayer.MusicName;
}
// BGM 轮播相关
private bool _isPlayingRotation = false;
private float _gapTimer = 0f;
@ -63,6 +73,8 @@ namespace Logic.Audio
path["IizunamaruMalian"] = "Audio/IizunamaruMalian";
path["CirnoGreek"] = "Audio/CirnoGreek";
path["HinanawiAztec"] = "Audio/HinanawiAztec";
path["SaigyoujiSumerian"] = "Audio/SaigyoujiSumerian";
path["ChirizukaIncan"] = "Audio/ChirizukaIncan";
path["Story"] = "Audio/Game";
path["SFX/UI_buttonHover"] = "Audio/SFX/UI_buttonHover";
path["SFX/UI_buttonClick"] = "Audio/SFX/UI_buttonClick";

View File

@ -77,6 +77,8 @@ namespace TH1_Core.Events
EventManager.Subscribe<HideUIOutsideInvited>(HandleHideUIOutsideInvited);
EventManager.Subscribe<ShowUIOutsideStory>(HandleShowUIOutsideStory);
EventManager.Subscribe<HideUIOutsideStory>(HandleHideUIOutsideStory);
EventManager.Subscribe<ShowUIOutsideMod>(HandleShowUIOutsideMod);
EventManager.Subscribe<HideUIOutsideMod>(HandleHideUIOutsideMod);
@ -165,6 +167,9 @@ namespace TH1_Core.Events
EventManager.Unsubscribe<ShowUIOutsideTutor>(HandleShowUIOutsideTutor);
EventManager.Unsubscribe<HideUIOutsideTutor>(HandleHideUIOutsideTutor);
EventManager.Unsubscribe<ShowUIOutsideMod>(HandleShowUIOutsideMod);
EventManager.Unsubscribe<HideUIOutsideMod>(HandleHideUIOutsideMod);
EventManager.Unsubscribe<ShowUIBottomBottomBar>(HandleShowUIBottomBottomBar);
EventManager.Unsubscribe<HideUIBottomBottomBar>(HandleHideUIBottomBottomBar);
@ -422,6 +427,18 @@ namespace TH1_Core.Events
UIManager.Instance.UIOutsideManager.HideCurTask();
}
private void HandleShowUIOutsideMod(ShowUIOutsideMod evt)
{
if (UIManager.Instance.UIOutsideManager == null) return;
UIManager.Instance.UIOutsideManager.StartNewTask(new UIOutsideTask(ViewControllerManager.UIOutsideModController, evt));
}
private void HandleHideUIOutsideMod(HideUIOutsideMod evt)
{
if (UIManager.Instance.UIOutsideManager == null) return;
UIManager.Instance.UIOutsideManager.HideCurTask();
}
private void HandleShowUIOutsideInvited(ShowUIOutsideInvited evt)
{

View File

@ -186,6 +186,10 @@ namespace TH1_Core.Events
public struct ShowUIOutsideStory { }
public struct HideUIOutsideStory { }
// 新增Mod 管理界面相关事件(多语言 mod 的订阅 / 优先级管理)
public struct ShowUIOutsideMod { }
public struct HideUIOutsideMod { }
public struct ShowUIOutsideInvited { public ulong LobbyId; }
public struct HideUIOutsideInvited { }

View File

@ -0,0 +1,99 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using Logic.Multilingual;
[Serializable]
[CreateAssetMenu(fileName = "MusicDataAssets", menuName = "TH1 Game Data/Music Data Asset")]
public class MusicDataAssets : ScriptableObject
{
public List<MusicInfo> MusicDataList = new List<MusicInfo>();
[NonSerialized]
private bool _initialized = false;
/// <summary>
/// 通过 MusicName(对应AudioManager的key, 如 "RemiliaEgyptian") 查询信息
/// </summary>
public bool GetMusicInfo(string musicName, out MusicInfo info)
{
info = null;
if (string.IsNullOrEmpty(musicName)) return false;
foreach (var t in MusicDataList)
{
if (t.MusicName == musicName)
{
info = t;
return true;
}
}
return false;
}
/// <summary>
/// 通过阵营+文明查询信息(用于在玩家页面快速找到对应BGM)
/// </summary>
public bool GetMusicInfo(ForceEnum force, CivEnum civ, out MusicInfo info)
{
info = null;
foreach (var t in MusicDataList)
{
if (t.Force == force && t.Civ == civ)
{
info = t;
return true;
}
}
return false;
}
}
[Serializable]
public class MusicInfo
{
[Tooltip("作为唯一Key,需要和AudioManager._clips的key一致(如 RemiliaEgyptian / Main / Story)")]
public string MusicName;
[Tooltip("音乐资源(AudioClip引用)")]
public AudioClip MusicClip;
[Tooltip("封面图")]
public Sprite CoverSprite;
[Tooltip("背景图")]
public Sprite BackgroundSprite;
[MultilingualField]
[Tooltip("曲名")]
public string Title;
[MultilingualField]
[Tooltip("原曲名")]
public string OriginalTitle;
[Tooltip("所属阵营(东方角色),非角色BGM填Common")]
public ForceEnum Force;
[Tooltip("所属文明,非文明BGM填Common")]
public CivEnum Civ;
[MultilingualField]
[Tooltip("作曲")]
public string Composer;
[MultilingualField]
[Tooltip("编曲")]
public string Arranger;
[MultilingualField]
[Tooltip("混音")]
public string Mixer;
[MultilingualField]
[Tooltip("演唱")]
public string Vocalist;
[MultilingualField]
[Tooltip("曲绘")]
public string Illustrator;
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7068380a3aa14935af744fe625794107
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -112,6 +112,20 @@ public class TextDataAssets : ScriptableObject
//--------- 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 = "";

View File

@ -96,6 +96,7 @@ public class Table
public PlayerTaskDataAssets PlayerTaskDataAssets;
public MomentDataAssets MomentDataAssets;
public CultureCardDataAssets CultureCardDataAssets;
public MusicDataAssets MusicDataAssets;
public WikiData WikiData;
@ -147,6 +148,7 @@ public class Table
PlayerTaskDataAssets = Resources.Load<PlayerTaskDataAssets>("Export/PlayerTaskDataAssets");
MomentDataAssets = Resources.Load<MomentDataAssets>("Export/MomentDataAssets");
CultureCardDataAssets = Resources.Load<CultureCardDataAssets>("Export/CultureCardDataAssets");
MusicDataAssets = Resources.Load<MusicDataAssets>("Export/MusicDataAssets");
//不用多语言导表

View File

@ -77,6 +77,13 @@ namespace TH1_Logic.Config
}
Config ??= new GameConfig();
// 老存档兜底:旧版本 GameConfig 没有 SecondaryLanguage 字段,
// JsonUtility 反序列化得到默认值 None此处刷新为 EN。
if (Config.SecondaryLanguage == MultilingualType.None)
{
Config.SecondaryLanguage = MultilingualType.EN;
}
}
if (!VersionCfg)
@ -213,7 +220,13 @@ namespace TH1_Logic.Config
[SerializeField]
private bool _bgmContinuousPlay;
[SerializeField]
private MultilingualType _secondaryLanguage = MultilingualType.EN;
[SerializeField]
private List<ModLanguageConfig> _modLanguageConfigs = new List<ModLanguageConfig>();
// 老存档迁移标记:第一次进入新版本时,把当前所有本地+订阅 mod 按 targetLanguage 自动挂载到 ModLanguageConfigs之后此标志置 true 不再触发
// 老存档反序列化时此字段不存在 → 默认 false → 自动触发一次迁移
[SerializeField]
private bool _modConfigMigrated;
private bool _isChanged;
public bool IsChanged => _isChanged;
@ -283,6 +296,34 @@ namespace TH1_Logic.Config
}
}
// 默认第二语言:玩家在 Setting 里选择 moreLanguage 选项时切换到此语言。
// 老存档反序列化得到 None 时由 GameConfig() 的初值或加载后兜底刷新成 EN。
public MultilingualType SecondaryLanguage
{
get => _secondaryLanguage;
set
{
if (_secondaryLanguage == value) return;
_isChanged = true;
_secondaryLanguage = value;
}
}
/// <summary>
/// Mod 配置是否已从"全自动 apply"模式迁移到"按 ModLanguageConfigs apply"模式
/// 老存档反序列化默认 false → MultilingualManager.Init 检测到 false 时执行一次性迁移
/// </summary>
public bool ModConfigMigrated
{
get => _modConfigMigrated;
set
{
if (_modConfigMigrated == value) return;
_isChanged = true;
_modConfigMigrated = value;
}
}
public GameConfig()
{
@ -292,7 +333,10 @@ namespace TH1_Logic.Config
_showReminder = true;
_keyMomentEnabled = true;
_bgmContinuousPlay = false;
_secondaryLanguage = MultilingualType.EN;
_modLanguageConfigs = new List<ModLanguageConfig>();
// 全新存档不需要迁移(迁移仅针对老版本"全自动 apply"过的玩家)
_modConfigMigrated = true;
}
// ── Mod 优先级配置接口 ──

View File

@ -65,12 +65,10 @@ namespace Logic.Editor
private bool _isTDZHNoTranslate = false;
private bool _isJPNoTranslate = false;
private bool _isKRNoTranslate = false;
private bool _isRUNoTranslate = false;
private bool _isESNoTranslate = false;
private bool _isPTNoTranslate = false;
private bool _isFRNoTranslate = false;
private bool _isAnyNoTranslate = false;
private bool _isSpecialTermSet = false;
// 排除次要文案:勾选后导出会跳过 IsSecondary=true 的条目(版本说明 / 地理科普等)
private bool _excludeSecondary = false;
private bool _isTransformStr = false;
@ -280,14 +278,10 @@ namespace Logic.Editor
var en = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.EN);
var jp = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.JP);
var kr = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.KR);
var ru = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.RU);
var es = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.ES);
var pt = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.PT);
var fr = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.FR);
sb.Append(
$"{item.ID}%$#@!{active}%$#@!{zh}%$#@!{tdzh}%$#@!{en}%$#@!{jp}%$#@!{kr}" +
$"%$#@!{ru}%$#@!{es}%$#@!{pt}%$#@!{fr}" +
$"%$#@!{item.IsSecondary}" +
$"%$#@!{item.IsProperNoun}%$#@!{item.IsDialogue}%$#@!{item.DialogueSpeaker}" +
$"%$#@!{item.IsDeprecated}%$#@!{item.IsCustom}%$#@!{item.IsSpecialTerm}" +
$"%$#@!{item.Color}%$#@!{item.Icon}%$#@!{item.Desc}!@#$%");
@ -359,80 +353,51 @@ namespace Logic.Editor
if (cells.Length >= 8)
{
var str = RemoveCsvQuotes(cells[7]);
if (!string.IsNullOrEmpty(str)) item.RU = str;
if (!string.IsNullOrEmpty(str)) item.IsSecondary = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 9)
{
var str = RemoveCsvQuotes(cells[8]);
if (!string.IsNullOrEmpty(str)) item.ES = str;
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 10)
{
var str = RemoveCsvQuotes(cells[9]);
if (!string.IsNullOrEmpty(str)) item.PT = str;
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 11)
{
var str = RemoveCsvQuotes(cells[10]);
if (!string.IsNullOrEmpty(str)) item.FR = str;
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
}
if (cells.Length >= 12)
{
var str = RemoveCsvQuotes(cells[11]);
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 13)
{
var str = RemoveCsvQuotes(cells[12]);
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsCustom = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 14)
if (cells.Length >= 14 && item.IsSpecialTerm)
{
// 编辑器侧 IsSpecialTerm 由 prefab 扫描时决定TXT 中传入仅作回传校验
var str = RemoveCsvQuotes(cells[13]);
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
if (!string.IsNullOrEmpty(str)) item.IsSpecialTerm = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 15)
{
var str = RemoveCsvQuotes(cells[14]);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 16)
{
var str = RemoveCsvQuotes(cells[15]);
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 17)
{
var str = RemoveCsvQuotes(cells[16]);
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 18)
{
var str = RemoveCsvQuotes(cells[17]);
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
}
if (cells.Length >= 19)
{
var str = RemoveCsvQuotes(cells[18]);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 20)
{
var str = RemoveCsvQuotes(cells[19]);
if (!string.IsNullOrEmpty(str)) item.IsCustom = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 21 && item.IsSpecialTerm)
{
var str = RemoveCsvQuotes(cells[20]);
if (!string.IsNullOrEmpty(str))
{
if (!str.StartsWith("#")) str = "#" + str;
item.Color = str;
}
}
if (cells.Length >= 22)
if (cells.Length >= 16)
{
var str = RemoveCsvQuotes(cells[21]);
var str = RemoveCsvQuotes(cells[15]);
if (!string.IsNullOrEmpty(str)) item.Icon = str;
}
}
@ -445,10 +410,6 @@ namespace Logic.Editor
item.EN = _asset.AlignEmbeddedStringsToZH(item.ZH, item.EN, MultilingualType.EN, item.ID);
item.JP = _asset.AlignEmbeddedStringsToZH(item.ZH, item.JP, MultilingualType.JP, item.ID);
item.KR = _asset.AlignEmbeddedStringsToZH(item.ZH, item.KR, MultilingualType.KR, item.ID);
item.RU = _asset.AlignEmbeddedStringsToZH(item.ZH, item.RU, MultilingualType.RU, item.ID);
item.ES = _asset.AlignEmbeddedStringsToZH(item.ZH, item.ES, MultilingualType.ES, item.ID);
item.PT = _asset.AlignEmbeddedStringsToZH(item.ZH, item.PT, MultilingualType.PT, item.ID);
item.FR = _asset.AlignEmbeddedStringsToZH(item.ZH, item.FR, MultilingualType.FR, item.ID);
item.Refresh();
}
@ -698,12 +659,9 @@ namespace Logic.Editor
_isTDZHNoTranslate = EditorGUILayout.Toggle("筛选繁中未翻译文本", _isTDZHNoTranslate);
_isJPNoTranslate = EditorGUILayout.Toggle("筛选日文未翻译文本", _isJPNoTranslate);
_isKRNoTranslate = EditorGUILayout.Toggle("筛选韩文未翻译文本", _isKRNoTranslate);
_isRUNoTranslate = EditorGUILayout.Toggle("筛选俄语未翻译文本", _isRUNoTranslate);
_isESNoTranslate = EditorGUILayout.Toggle("筛选西班牙语未翻译文本", _isESNoTranslate);
_isPTNoTranslate = EditorGUILayout.Toggle("筛选葡萄牙语未翻译文本", _isPTNoTranslate);
_isFRNoTranslate = EditorGUILayout.Toggle("筛选法语未翻译文本", _isFRNoTranslate);
_isAnyNoTranslate = EditorGUILayout.Toggle("筛选任意未翻译文本", _isAnyNoTranslate);
_isSpecialTermSet = EditorGUILayout.Toggle("筛选专有名词", _isSpecialTermSet);
_excludeSecondary = EditorGUILayout.Toggle("排除次要文案", _excludeSecondary);
if (InspectorUtils.InspectorButtonWithTextWidth("导出 Excel 筛选类型文本"))
{
@ -843,10 +801,6 @@ namespace Logic.Editor
item.EN = TransformString(item.EN);
item.JP = TransformString(item.JP);
item.KR = TransformString(item.KR);
item.RU = TransformString(item.RU);
item.ES = TransformString(item.ES);
item.PT = TransformString(item.PT);
item.FR = TransformString(item.FR);
}
if (_zhStrDict.ContainsKey(item.ZH))
{
@ -932,51 +886,41 @@ namespace Logic.Editor
if (cells.Length >= 8)
{
var str = RemoveCsvQuotes(cells[7]);
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsSecondary = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 9)
{
var str = RemoveCsvQuotes(cells[8]);
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 10)
{
var str = RemoveCsvQuotes(cells[9]);
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 11)
{
var str = RemoveCsvQuotes(cells[10]);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
}
if (cells.Length >= 12)
{
var str = RemoveCsvQuotes(cells[11]);
if (!string.IsNullOrEmpty(str)) item.IsProperNoun = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 13)
{
var str = RemoveCsvQuotes(cells[12]);
if (!string.IsNullOrEmpty(str)) item.IsDialogue = MultilingualItem.ParseBoolStr(str);
if (!string.IsNullOrEmpty(str)) item.IsCustom = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 14)
if (cells.Length >= 14 && item.IsSpecialTerm)
{
var str = RemoveCsvQuotes(cells[13]);
if (!string.IsNullOrEmpty(str)) item.DialogueSpeaker = str;
if (!string.IsNullOrEmpty(str)) item.IsSpecialTerm = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 15)
{
var str = RemoveCsvQuotes(cells[14]);
if (!string.IsNullOrEmpty(str)) item.IsDeprecated = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 16)
{
var str = RemoveCsvQuotes(cells[15]);
if (!string.IsNullOrEmpty(str)) item.IsCustom = MultilingualItem.ParseBoolStr(str);
}
if (cells.Length >= 18 && item.IsSpecialTerm)
{
var str = RemoveCsvQuotes(cells[17]);
if (!string.IsNullOrEmpty(str))
{
// 确保有 # 前缀
@ -984,9 +928,9 @@ namespace Logic.Editor
item.Color = str;
}
}
if (cells.Length >= 19)
if (cells.Length >= 16)
{
var str = RemoveCsvQuotes(cells[18]);
var str = RemoveCsvQuotes(cells[15]);
if (!string.IsNullOrEmpty(str)) item.Icon = str;
}
}
@ -1002,10 +946,6 @@ namespace Logic.Editor
item.EN = _asset.AlignEmbeddedStringsToZH(item.ZH, item.EN, MultilingualType.EN, item.ID);
item.JP = _asset.AlignEmbeddedStringsToZH(item.ZH, item.JP, MultilingualType.JP, item.ID);
item.KR = _asset.AlignEmbeddedStringsToZH(item.ZH, item.KR, MultilingualType.KR, item.ID);
item.RU = _asset.AlignEmbeddedStringsToZH(item.ZH, item.RU, MultilingualType.RU, item.ID);
item.ES = _asset.AlignEmbeddedStringsToZH(item.ZH, item.ES, MultilingualType.ES, item.ID);
item.PT = _asset.AlignEmbeddedStringsToZH(item.ZH, item.PT, MultilingualType.PT, item.ID);
item.FR = _asset.AlignEmbeddedStringsToZH(item.ZH, item.FR, MultilingualType.FR, item.ID);
item.Refresh();
}
@ -1289,12 +1229,9 @@ namespace Logic.Editor
if (_isTDZHNoTranslate && item.IsTranslate(MultilingualType.TDZH)) continue;
if (_isJPNoTranslate && item.IsTranslate(MultilingualType.JP)) continue;
if (_isKRNoTranslate && item.IsTranslate(MultilingualType.KR)) continue;
if (_isRUNoTranslate && item.IsTranslate(MultilingualType.RU)) continue;
if (_isESNoTranslate && item.IsTranslate(MultilingualType.ES)) continue;
if (_isPTNoTranslate && item.IsTranslate(MultilingualType.PT)) continue;
if (_isFRNoTranslate && item.IsTranslate(MultilingualType.FR)) continue;
if (_isAnyNoTranslate && item.IsTranslate(MultilingualType.None)) continue;
if (_isSpecialTermSet && !item.IsSpecialTerm) continue;
if (_excludeSecondary && item.IsSecondary) continue;
}
var active = _activeSet.Contains(item.ID);
@ -1303,14 +1240,10 @@ namespace Logic.Editor
var en = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.EN);
var jp = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.JP);
var kr = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.KR);
var ru = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.RU);
var es = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.ES);
var pt = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.PT);
var fr = _asset.GetMultilingualStrEditor(item.ID, MultilingualType.FR);
sb.Append(
$"{item.ID}%$#@!{active}%$#@!{zh}%$#@!{tdzh}%$#@!{en}%$#@!{jp}%$#@!{kr}" +
$"%$#@!{ru}%$#@!{es}%$#@!{pt}%$#@!{fr}" +
$"%$#@!{item.IsSecondary}" +
$"%$#@!{item.IsProperNoun}%$#@!{item.IsDialogue}%$#@!{item.DialogueSpeaker}" +
$"%$#@!{item.IsDeprecated}%$#@!{item.IsCustom}%$#@!{item.IsSpecialTerm}" +
$"%$#@!{item.Color}%$#@!{item.Icon}%$#@!{item.Desc}!@#$%");

View File

@ -20,18 +20,51 @@ namespace Logic.Multilingual
{
public enum MultilingualType
{
None,
ZH, // 简中
TDZH, // 繁中
EN, // 英文
JP, // 日语
KR, // 韩语
RU, // 俄语
ES, // 西班牙语
PT, // 葡萄牙语
FR, // 法语
Custom, // 自定义语种(仅供 Mod 应用使用,不参与常规多语言流程)
Max,
None = 0,
ZH = 1, // 简体中文 / Simplified Chinese
TDZH = 2, // 繁体中文 / Traditional Chinese
EN = 3, // 英文 / English
JP = 4, // 日语 / Japanese
KR = 5, // 韩语 / Korean
RU = 10, // 俄语 / Russian
ES = 11, // 西班牙语 / Spanish
PT = 12, // 葡萄牙语 / Portuguese
FR = 13, // 法语 / French
DE = 14, // 德语 / German
ID = 15, // 印尼语 / Indonesian
TH = 16, // 泰语 / Thai
PL = 17, // 波兰语 / Polish
VI = 18, // 越南语 / Vietnamese
MS = 19, // 马来语 / Malay
UK = 20, // 乌克兰语 / Ukrainian
KZ = 21, // 哈萨克语 / Kazakh
TR = 22, // 土耳其语 / Turkish
IT = 23, // 意大利语 / Italian
NL = 24, // 荷兰语 / Dutch
FI = 25, // 芬兰语 / Finnish
SV = 26, // 瑞典语 / Swedish
NO = 27, // 挪威语 / Norwegian
CS = 28, // 捷克语 / Czech
HU = 29, // 匈牙利语 / Hungarian
EL = 30, // 希腊语 / Greek
RO = 31, // 罗马尼亚语 / Romanian
ET = 32, // 爱沙尼亚语 / Estonian
LT = 33, // 立陶宛语 / Lithuanian
HR = 34, // 克罗地亚语 / Croatian
SR = 35, // 塞尔维亚语 / Serbian
SL = 36, // 斯洛文尼亚语 / Slovenian
SK = 37, // 斯洛伐克语 / Slovak
BE = 38, // 白俄罗斯语 / Belarusian
HE = 39, // 希伯来语 / Hebrew
BG = 40, // 保加利亚语 / Bulgarian
UZ = 41, // 乌兹别克语 / Uzbek
KY = 42, // 吉尔吉斯语 / Kyrgyz
MN = 43, // 蒙古语 / Mongolian
AR = 44, // 阿拉伯语 / Arabic
DA = 45, // 丹麦语 / Danish
TL = 46, // 菲律宾语 / Tagalog (Filipino)
Custom = 999, // 自定义语种 / Custom Language
Max = 1000, // 最大值 / Max value
}
@ -51,12 +84,46 @@ namespace Logic.Multilingual
if (!_itemDict.TryGetValue(id, out var item)) return string.Empty;
var ret = item.GetStrByType(type);
// Fallback 链:
// 1. 5 种主语言(除 EN自己有就用自己没有就直接返回空不 fallback
// 2. EN自己没有 → 兜底到 ZH
// 3. 其他语言(含 Custom自己没有 → 兜底到 ENEN 还没有 → 兜底到 ZH
// ZH 是终极兜底,自己不 fallback
if (string.IsNullOrEmpty(ret) && NeedsEnglishFallback(type))
{
ret = item.GetStrByType(MultilingualType.EN);
}
if (string.IsNullOrEmpty(ret) && NeedsChineseFallback(type))
{
ret = item.GetStrByType(MultilingualType.ZH);
}
if (string.IsNullOrEmpty(ret)) return ret;
ret = ResolveEmbeddedStringsRunning(ret, type);
return ret;
}
// 是否需要回落英文:仅 5 种主语言(中英日韩繁)和 None/Max 不回落
private static bool NeedsEnglishFallback(MultilingualType type)
{
return type != MultilingualType.None
&& type != MultilingualType.Max
&& type != MultilingualType.ZH
&& type != MultilingualType.TDZH
&& type != MultilingualType.EN
&& type != MultilingualType.JP
&& type != MultilingualType.KR;
}
// 是否需要回落中文:除 ZH 自身外都需要(包括 EN 自己 — EN 没翻译时也兜底中文)
// ZH/None/Max 不 fallback避免无意义查询
private static bool NeedsChineseFallback(MultilingualType type)
{
return type != MultilingualType.None
&& type != MultilingualType.Max
&& type != MultilingualType.ZH;
}
public TMP_FontAsset GetMultilingualFont(uint fontId, MultilingualType type)
{
if (fontId == 0) return null;
@ -414,6 +481,8 @@ namespace Logic.Multilingual
public bool IsDeprecated;
public bool IsCustom;
public bool IsSpecialTerm;
// 次要文案:版本说明 / 地理科普等不重要文本,导出时可整体排除以减少送翻量
public bool IsSecondary;
// 默认橘色
public string Color;
public string Icon;

View File

@ -6,6 +6,7 @@
*/
using System;
using System.Collections.Generic;
using System.Linq;
using Logic.CrashSight;
@ -24,26 +25,115 @@ namespace Logic.Multilingual
private MultilingualType _currentType;
private List<MultilingualTextMono> _textComs;
// 原始翻译快照仅在游戏启动时拍照一次apply mod 之前的纯净数据)。
// 之后所有 mod apply / 重 apply 都基于"先 restore 再 apply",避免覆盖叠加。
// key = MultilingualItem.ID, value = 各语种字段的原始值
private Dictionary<uint, OriginalLangFields> _originalSnapshot;
// 跟踪 export 数据是否已经被 mod 改写过:用于在切语言时判断是否需要重新 apply
// (理论上只有 SaveAndApplyMods 会改写,所以这个标志只在那里翻转)
private bool _modsApplied;
public void Init()
{
RefreshMultilingualData();
SnapshotOriginalIfNeeded();
_currentType = ConfigManager.Instance.Config.MultilingualType;
if (_currentType == MultilingualType.None) _currentType = GetSystemLanguage();
// 老存档迁移:第一次进入新版本时,把所有已安装 mod 按 targetLanguage 挂入 ModLanguageConfigs
// (旧版本是"全自动 apply"模式,没有 ModLanguageConfigs不迁移会导致老玩家 mod 失效)
MigrateLegacyModConfigIfNeeded();
ApplyWorkshopMods();
ChangedMultilingual(_currentType);
}
// 一次性迁移:仅在 ModConfigMigrated == false 时执行
private void MigrateLegacyModConfigIfNeeded()
{
var config = ConfigManager.Instance.Config;
if (config.ModConfigMigrated) return;
try
{
var paths = new List<string>(WorkshopModLoader.GetLocalModPaths());
paths.AddRange(WorkshopModLoader.GetSubscribedModPaths());
int migrated = 0;
foreach (var folder in paths)
{
var info = WorkshopModExporter.ReadModInfo(folder);
if (info == null) continue;
if (!Enum.TryParse<MultilingualType>(info.targetLanguage, true, out var lang)) continue;
if (lang == MultilingualType.None || lang == MultilingualType.Max) continue;
config.AddModToLanguage(lang, folder);
migrated++;
}
LogSystem.LogInfo($"[MultilingualManager] 老存档 Mod 配置迁移完成,挂载 {migrated} 个 mod");
}
catch (Exception e)
{
LogSystem.LogError($"[MultilingualManager] 老存档 Mod 配置迁移失败: {e.Message}");
}
finally
{
// 即使部分失败也置 true避免每次启动都重试导致重复挂载
config.ModConfigMigrated = true;
}
}
/// <summary>
/// 加载并应用所有创意工坊多语言 Mod本地 + 已订阅),可供 UI 手动调用刷新
/// 加载并应用所有创意工坊多语言 Mod按 Config.ModLanguageConfigs 的顺序。
/// 每次都先把 MultilingualData 还原到原始快照再 apply避免重复叠加。
/// </summary>
public void ApplyWorkshopMods()
{
RefreshMultilingualData();
if (_multilingualData != null)
{
WorkshopModLoader.ApplyAllMods(_multilingualData);
if (_multilingualData == null) return;
SnapshotOriginalIfNeeded();
RestoreOriginal();
WorkshopModLoader.ApplyModsWithConfig(_multilingualData, ConfigManager.Instance.Config.ModLanguageConfigs);
_modsApplied = true;
}
/// <summary>
/// 玩家在 UI 里点击"保存并应用"调用:还原快照 → 按 Config 重 apply → 触发 TMP 重绘
/// </summary>
public void SaveAndApplyMods()
{
ApplyWorkshopMods();
ChangedMultilingual(_currentType);
}
// 仅在第一次snapshot 还没建立时)拍照一次,避免重复触发或 apply 后再拍导致快照失真
private void SnapshotOriginalIfNeeded()
{
if (_originalSnapshot != null) return;
if (_multilingualData == null) return;
_multilingualData.RefreshDict();
if (_multilingualData.ItemDict == null) return;
_originalSnapshot = new Dictionary<uint, OriginalLangFields>(_multilingualData.ItemDict.Count);
foreach (var kv in _multilingualData.ItemDict)
{
_originalSnapshot[kv.Key] = OriginalLangFields.From(kv.Value);
}
}
// 把所有语种字段还原到原始值(仅 mod 会覆盖的字段)
private void RestoreOriginal()
{
if (_originalSnapshot == null || _multilingualData == null) return;
_multilingualData.RefreshDict();
if (_multilingualData.ItemDict == null) return;
foreach (var kv in _originalSnapshot)
{
if (!_multilingualData.ItemDict.TryGetValue(kv.Key, out var item)) continue;
kv.Value.RestoreTo(item);
}
_modsApplied = false;
}
#if UNITY_EDITOR
@ -59,6 +149,26 @@ namespace Logic.Multilingual
return _multilingualData.GetMultilingualStr(id, _currentType);
}
/// <summary>
/// 按指定语言取多语言字符串(无视CurrentType)。用于"无论什么语言都要用XX语言显示"的字段,如原曲名只显示日文/中文原版。
/// </summary>
public string GetMultilingualText(uint id, MultilingualType type)
{
RefreshMultilingualData();
return _multilingualData.GetMultilingualStr(id, type);
}
/// <summary>
/// 按指定语言取多语言字符串的安全版(传入数字ID字符串)。
/// </summary>
public string GetMultilingualTextSafe(string idString, MultilingualType type)
{
if (string.IsNullOrEmpty(idString)) return "";
if (uint.TryParse(idString, out uint id))
return GetMultilingualText(id, type);
return idString;
}
public string GetMultilingualTextSafe(string idString)
{
if (string.IsNullOrEmpty(idString))
@ -262,4 +372,52 @@ namespace Logic.Multilingual
return MultilingualType.EN;
}
}
/// <summary>
/// 原始翻译快照行:仅保存 mod 会覆盖的字段(与 WorkshopModLoader.SetItemStr 列表对齐)
/// </summary>
internal struct OriginalLangFields
{
public string ZH;
public string TDZH;
public string EN;
public string JP;
public string KR;
public string RU;
public string ES;
public string PT;
public string FR;
public string Custom;
public static OriginalLangFields From(MultilingualItem item)
{
return new OriginalLangFields
{
ZH = item.ZH,
TDZH = item.TDZH,
EN = item.EN,
JP = item.JP,
KR = item.KR,
RU = item.RU,
ES = item.ES,
PT = item.PT,
FR = item.FR,
Custom = item.Custom,
};
}
public void RestoreTo(MultilingualItem item)
{
item.ZH = ZH;
item.TDZH = TDZH;
item.EN = EN;
item.JP = JP;
item.KR = KR;
item.RU = RU;
item.ES = ES;
item.PT = PT;
item.FR = FR;
item.Custom = Custom;
}
}
}

View File

@ -103,11 +103,30 @@ namespace Logic.Multilingual
private void MatchTextCfg(TextMeshProUGUI text, MultilingualType type)
{
// 仅 5 主语言ZH/TDZH/EN/JP/KR使用各自配置
// 其他所有语言RU/FR/DE/AR/泰语/Custom 等)一律强制使用 EN 的字号/间距方案,
// 即使它们自己有 MultiTextConfig 也忽略,避免不同字体下字号差异过大。
MultilingualType lookupType = IsPrimaryLanguageCfg(type) ? type : MultilingualType.EN;
MultiTextConfig hit = null;
MultiTextConfig fallback = null;
foreach (var cfg in TextCfg)
{
if (cfg.Type != type) continue;
cfg.ExcuteConfig(text);
if (cfg.Type == lookupType) { hit = cfg; break; }
if (cfg.Type == MultilingualType.EN) fallback = cfg;
}
var picked = hit ?? fallback;
picked?.ExcuteConfig(text);
}
// 5 主语言才走自己的 TextCfg其他全部走 EN
private static bool IsPrimaryLanguageCfg(MultilingualType type)
{
return type == MultilingualType.ZH
|| type == MultilingualType.TDZH
|| type == MultilingualType.EN
|| type == MultilingualType.JP
|| type == MultilingualType.KR;
}
public void SetMultilingualText(string str, MultilingualType type, TMP_FontAsset font)

View File

@ -27,6 +27,9 @@ namespace Logic.Multilingual
public ulong FileSize;
public uint VotesUp;
public uint VotesDown;
public uint CreatedTime; // Unix 时间戳
public uint UpdatedTime;
public ulong OwnerSteamId;
}
/// <summary>
@ -51,6 +54,7 @@ namespace Logic.Multilingual
public bool IsSubscribeOperating { get; private set; }
private CallResult<SteamUGCQueryCompleted_t> _queryCallResult;
private CallResult<SteamUGCQueryCompleted_t> _userQueryCallResult;
private CallResult<RemoteStorageSubscribePublishedFileResult_t> _subscribeCallResult;
private CallResult<RemoteStorageUnsubscribePublishedFileResult_t> _unsubscribeCallResult;
@ -60,6 +64,12 @@ namespace Logic.Multilingual
public event Action<PublishedFileId_t, bool> OnSubscribeCompleted;
public event Action<PublishedFileId_t, bool> OnUnsubscribeCompleted;
// 当前玩家已上传 mod 的查询状态
public bool IsQueryingUserMods { get; private set; }
public List<WorkshopModItem> UserMods { get; } = new List<WorkshopModItem>();
public string UserQueryError { get; private set; } = "";
public event System.Action OnUserModsQueryCompleted;
/// <summary>
/// 查询当前 AppId 的所有 Workshop Mod分页
/// </summary>
@ -214,6 +224,9 @@ namespace Logic.Multilingual
VotesUp = details.m_unVotesUp,
VotesDown = details.m_unVotesDown,
FileSize = (ulong)details.m_nFileSize,
CreatedTime = details.m_rtimeCreated,
UpdatedTime = details.m_rtimeUpdated,
OwnerSteamId = details.m_ulSteamIDOwner,
};
RefreshItemStateForItem(item);
@ -247,5 +260,90 @@ namespace Logic.Multilingual
item.InstallFolder = "";
}
}
// ── 查询当前玩家已上传的 Mod ──
/// <summary>
/// 查询当前 Steam 账号在该 AppId 下已上传的所有 Workshop 物品(分页 1最多 50 条)
/// </summary>
public void QueryUserMods()
{
if (IsQueryingUserMods) return;
try
{
if (!SteamAPI.IsSteamRunning())
{
UserQueryError = "Steam 未运行";
OnUserModsQueryCompleted?.Invoke();
return;
}
IsQueryingUserMods = true;
UserQueryError = "";
var appId = SteamUtils.GetAppID();
var steamId = SteamUser.GetSteamID();
var handle = SteamUGC.CreateQueryUserUGCRequest(
steamId.GetAccountID(),
EUserUGCList.k_EUserUGCList_Published,
EUGCMatchingUGCType.k_EUGCMatchingUGCType_Items,
EUserUGCListSortOrder.k_EUserUGCListSortOrder_CreationOrderDesc,
new AppId_t(0), // creatorAppId: any
appId,
1);
SteamUGC.SetReturnLongDescription(handle, true);
var apiCall = SteamUGC.SendQueryUGCRequest(handle);
_userQueryCallResult = CallResult<SteamUGCQueryCompleted_t>.Create(OnUserQueryCompleted);
_userQueryCallResult.Set(apiCall);
}
catch (Exception e)
{
IsQueryingUserMods = false;
UserQueryError = $"查询异常: {e.Message}";
LogSystem.LogError($"WorkshopModBrowser: 查询用户 Mod 失败 - {e.Message}");
OnUserModsQueryCompleted?.Invoke();
}
}
private void OnUserQueryCompleted(SteamUGCQueryCompleted_t result, bool ioFailure)
{
IsQueryingUserMods = false;
if (ioFailure || result.m_eResult != EResult.k_EResultOK)
{
UserQueryError = $"查询失败: Result={result.m_eResult}";
LogSystem.LogError($"WorkshopModBrowser: {UserQueryError}");
SteamUGC.ReleaseQueryUGCRequest(result.m_handle);
OnUserModsQueryCompleted?.Invoke();
return;
}
UserMods.Clear();
for (uint i = 0; i < result.m_unNumResultsReturned; i++)
{
if (!SteamUGC.GetQueryUGCResult(result.m_handle, i, out var details)) continue;
var item = new WorkshopModItem
{
FileId = details.m_nPublishedFileId,
Title = details.m_rgchTitle,
Description = details.m_rgchDescription,
Tags = details.m_rgchTags,
VotesUp = details.m_unVotesUp,
VotesDown = details.m_unVotesDown,
FileSize = (ulong)details.m_nFileSize,
CreatedTime = details.m_rtimeCreated,
UpdatedTime = details.m_rtimeUpdated,
OwnerSteamId = details.m_ulSteamIDOwner,
};
UserMods.Add(item);
}
SteamUGC.ReleaseQueryUGCRequest(result.m_handle);
OnUserModsQueryCompleted?.Invoke();
}
}
}

Some files were not shown because too many files have changed in this diff Show More