This commit is contained in:
wuwenbo 2025-08-27 10:58:21 +08:00
commit 7325a06068
38 changed files with 3915 additions and 632 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: d3cd7a4b168e60c4e91fd4abf02ebd9d
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:

View File

@ -4311,8 +4311,8 @@ MonoBehaviour:
Cost: 0
CityExp: 0
NoNeedTech: 0
SpriteSize: {x: 0, y: 1}
SpritePos: {x: 40, y: 40}
SpriteSize: {x: 40, y: 40}
SpritePos: {x: 0, y: 1}
- ActionId:
ActionType: 12
WonderType: 0
@ -4330,7 +4330,7 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 5
ActionName: "\u5927\u4F7F\u9986"
Desc: "\u5EFA\u7ACB\u5927\u4F7F\u9986\u540E\uFF0C\u83B7\u5F97\u5BF9\u65B9\u9996\u90FD\u4E00\u683C\u5185\u89C6\u91CE\uFF0C\u6BCF\u56DE\u5408\u53CC\u65B9\u83B7\u5F972\u91D1\u5E01\u6536\u76CA\u3002\u76DF\u53CB\u5219\u6536\u76CA\u7FFB\u500D\u3002\u53CC\u65B9\u8FDB\u5165\u6218\u4E89\u5219\u5927\u4F7F\u9986\u81EA\u52A8\u64A4\u9500\u3002\u9700\u8981<color=yellow>\u5927\u4F7F\u9986</color>\u79D1\u6280\u3002"
Desc: "\u5EFA\u7ACB\u5927\u4F7F\u9986\u540E\uFF0C\u83B7\u5F97\u5BF9\u65B9\u9996\u90FD\u4E00\u683C\u5185\u89C6\u91CE\uFF0C\u6BCF\u56DE\u5408\u53CC\u65B9\u83B7\u5F972\u91D1\u5E01\u6536\u76CA\u3002\u76DF\u53CB\u5219\u6536\u76CA\u7FFB\u500D\u3002\u53CC\u65B9\u8FDB\u5165\u6218\u4E89\u5219\u5927\u4F7F\u9986\u81EA\u52A8\u64A4\u9500\u3002\u65E0\u6CD5\u5728\u4E22\u5931\u539F\u59CB\u9996\u90FD\u7684\u5E1D\u56FD\u5185\u5EFA\u7ACB\u5927\u4F7F\u9986\u3002\u9700\u8981<color=yellow>\u5927\u4F7F\u9986</color>\u79D1\u6280\u3002"
NeedTechDesc: 0
TechDesc:
NeedLockDesc: 0

View File

@ -13,6 +13,9 @@ MonoBehaviour:
m_Name: DiplomacyDataAssets
m_EditorClassIdentifier:
NoMeetText: "\u5BF9\u65B9\u5C1A\u672A\u7ED3\u8BC6\u60A8"
DiplomacyUITitle: "<color=yellow>{param}</color>\u5BF9\u60A8\u7684\u6001\u5EA6"
DiplomacyUITitleSelf: "<color=yellow>{param}</color>(\u60A8)"
DiplomacyUIOtherRelationTitle: "<color=yellow>{param}\u5E1D\u56FD</color>\u4E0E\u5176\u4ED6\u73A9\u5BB6\u7684\u5173\u7CFB"
DiplomacyStateInfoList:
- DiplomacyState: 0
stateText: "\u672A\u7ED3\u8BC6"

View File

@ -172,7 +172,7 @@ MonoBehaviour:
CivName: "\u62DC\u5360\u5EAD"
ForceName: "\u65E5\u767D\u5E1D\u56FD"
LeaderName: "\u65E5\u767D\u6B8B\u65E0"
LeaderIllustration: {fileID: 21300000, guid: 657eb38c480bcb24b8c5e9692959564a, type: 3}
LeaderIllustration: {fileID: 21300000, guid: d3cd7a4b168e60c4e91fd4abf02ebd9d, type: 3}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000013000000
Color: {r: 0, g: 0.61960787, b: 0.65882355, a: 1}

View File

@ -4311,8 +4311,8 @@ MonoBehaviour:
Cost: 0
CityExp: 0
NoNeedTech: 0
SpriteSize: {x: 0, y: 0}
SpritePos: {x: 0, y: 0}
SpriteSize: {x: 40, y: 40}
SpritePos: {x: 0, y: 1}
- ActionId:
ActionType: 12
WonderType: 0
@ -4330,7 +4330,7 @@ MonoBehaviour:
TechType: 0
PlayerActionType: 5
ActionName: 1388
Desc: 1678
Desc: 1713
NeedTechDesc: 0
TechDesc:
NeedLockDesc: 0
@ -4341,8 +4341,8 @@ MonoBehaviour:
Cost: 5
CityExp: 0
NoNeedTech: 0
SpriteSize: {x: 0, y: 0}
SpritePos: {x: 0, y: 0}
SpriteSize: {x: 30, y: 30}
SpritePos: {x: 0, y: 1}
- ActionId:
ActionType: 12
WonderType: 0
@ -4371,8 +4371,8 @@ MonoBehaviour:
Cost: 0
CityExp: 0
NoNeedTech: 1
SpriteSize: {x: 0, y: 0}
SpritePos: {x: 0, y: 0}
SpriteSize: {x: 40, y: 40}
SpritePos: {x: 0, y: 1}
- ActionId:
ActionType: 12
WonderType: 0
@ -4401,8 +4401,8 @@ MonoBehaviour:
Cost: 0
CityExp: 0
NoNeedTech: 1
SpriteSize: {x: 0, y: 0}
SpritePos: {x: 0, y: 0}
SpriteSize: {x: 40, y: 40}
SpritePos: {x: 0, y: 1}
- ActionId:
ActionType: 12
WonderType: 0
@ -4431,5 +4431,5 @@ MonoBehaviour:
Cost: 0
CityExp: 0
NoNeedTech: 1
SpriteSize: {x: 0, y: 0}
SpritePos: {x: 0, y: 0}
SpriteSize: {x: 40, y: 40}
SpritePos: {x: 0, y: 1}

View File

@ -13,6 +13,9 @@ MonoBehaviour:
m_Name: DiplomacyDataAssets
m_EditorClassIdentifier:
NoMeetText: 1657
DiplomacyUITitle: 1633
DiplomacyUITitleSelf: 1712
DiplomacyUIOtherRelationTitle: 1632
DiplomacyStateInfoList:
- DiplomacyState: 0
stateText: 1659
@ -103,3 +106,4 @@ MonoBehaviour:
FeelingStrategyTitle: 1708
FeelingStrategyDesc: 1709
FeelingStrategyColor: {r: 1, g: 0, b: 0, a: 0}
DiplomacyChatInfoList: []

View File

@ -10788,4 +10788,22 @@ MonoBehaviour:
EN:
JP:
KR:
- ID: 1711
ZH: "\u672A\u7ED3\u8BC6\u73A9\u5BB6\u7684\u9886\u571F"
TDZH:
EN:
JP:
KR:
- ID: 1712
ZH: "<color=yellow>{param}</color>(\u60A8)"
TDZH:
EN:
JP:
KR:
- ID: 1713
ZH: "\u5EFA\u7ACB\u5927\u4F7F\u9986\u540E\uFF0C\u83B7\u5F97\u5BF9\u65B9\u9996\u90FD\u4E00\u683C\u5185\u89C6\u91CE\uFF0C\u6BCF\u56DE\u5408\u53CC\u65B9\u83B7\u5F972\u91D1\u5E01\u6536\u76CA\u3002\u76DF\u53CB\u5219\u6536\u76CA\u7FFB\u500D\u3002\u53CC\u65B9\u8FDB\u5165\u6218\u4E89\u5219\u5927\u4F7F\u9986\u81EA\u52A8\u64A4\u9500\u3002\u65E0\u6CD5\u5728\u4E22\u5931\u539F\u59CB\u9996\u90FD\u7684\u5E1D\u56FD\u5185\u5EFA\u7ACB\u5927\u4F7F\u9986\u3002\u9700\u8981<color=yellow>\u5927\u4F7F\u9986</color>\u79D1\u6280\u3002"
TDZH:
EN:
JP:
KR:
TargetTypes: 0100000001000000010000000100000001000000

View File

@ -172,7 +172,7 @@ MonoBehaviour:
CivName: 1646
ForceName: 1647
LeaderName: 482
LeaderIllustration: {fileID: 21300000, guid: 657eb38c480bcb24b8c5e9692959564a, type: 3}
LeaderIllustration: {fileID: 21300000, guid: d3cd7a4b168e60c4e91fd4abf02ebd9d, type: 3}
TechPool: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f00000010000000110000001200000013000000140000001500000016000000170000001800000019000000
TechStart: 0000000013000000
Color: {r: 0, g: 0.61960787, b: 0.65882355, a: 1}

View File

@ -1,80 +1,5 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &452359422279297769
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5153070651334574913}
- component: {fileID: 3883128404627965314}
- component: {fileID: 817418548611552311}
m_Layer: 5
m_Name: BG
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5153070651334574913
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452359422279297769}
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: 1617590443984694437}
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: 0, y: 0}
m_SizeDelta: {x: 200, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3883128404627965314
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452359422279297769}
m_CullTransparentMesh: 1
--- !u!114 &817418548611552311
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 452359422279297769}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 34d554f5a0db6de47ac0fb985043a1a8, type: 2}
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: 0}
m_Type: 0
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!1 &486046858306705196
GameObject:
m_ObjectHideFlags: 0
@ -434,7 +359,7 @@ RectTransform:
m_Children:
- {fileID: 7107751465967447013}
- {fileID: 3210204100623811625}
- {fileID: 235463839704294288}
- {fileID: 4666208943281336281}
m_Father: {fileID: 7830947382640615683}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
@ -450,70 +375,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1021112187875118606}
m_CullTransparentMesh: 1
--- !u!1 &1100811923955300825
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 235463839704294288}
- component: {fileID: 4304072507319034761}
m_Layer: 5
m_Name: ButtonGroup
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &235463839704294288
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1100811923955300825}
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: 4666208943281336281}
- {fileID: 1617590443984694437}
m_Father: {fileID: 4239633799330308119}
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: -0.000099182, y: -90.082}
m_SizeDelta: {x: 331.4939, y: 52.773}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4304072507319034761
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1100811923955300825}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: -5
m_Bottom: 0
m_ChildAlignment: 1
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
--- !u!1 &1337002743464201892
GameObject:
m_ObjectHideFlags: 0
@ -1624,7 +1485,7 @@ RectTransform:
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: 0, y: -30}
m_AnchoredPosition: {x: 0, y: -18.4}
m_SizeDelta: {x: 200, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1880424639124623371
@ -1665,157 +1526,6 @@ MonoBehaviour:
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!1 &5440932311483060258
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1617590443984694437}
- component: {fileID: 7388088060156455808}
- component: {fileID: 7688680823131477135}
- component: {fileID: 4527466643151733917}
- component: {fileID: 5965860090542305438}
- component: {fileID: 5543653336432635898}
m_Layer: 5
m_Name: CancelButton
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1617590443984694437
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0.6, y: 0.6, z: 0.6}
m_ConstrainProportionsScale: 1
m_Children:
- {fileID: 5153070651334574913}
- {fileID: 6345764574624872283}
m_Father: {fileID: 235463839704294288}
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: 172.4196, y: 60.8774}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7388088060156455808
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
m_CullTransparentMesh: 1
--- !u!114 &7688680823131477135
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
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: 0.39985144, g: 0.7283019, b: 0.28444993, a: 0.972549}
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: 181dc999d49b1b74ba443cdc3039c8ea, type: 3}
m_Type: 1
m_PreserveAspect: 1
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1.5
--- !u!114 &4527466643151733917
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cab95bedca96b245a4ce4cb6e11d719, type: 3}
m_Name:
m_EditorClassIdentifier:
hoverAudioName: SFX/UI_buttonHover
clickAudioName: SFX/UI_buttonClick
--- !u!114 &5965860090542305438
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
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: 7688680823131477135}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!114 &5543653336432635898
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5440932311483060258}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 31a19414c41e5ae4aae2af33fee712f6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_ShowMaskGraphic: 1
--- !u!1 &5667194347028622726
GameObject:
m_ObjectHideFlags: 0
@ -2089,11 +1799,11 @@ RectTransform:
m_Children:
- {fileID: 3152132086209808742}
- {fileID: 6434584941727920253}
m_Father: {fileID: 235463839704294288}
m_Father: {fileID: 4239633799330308119}
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_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 212.6, y: -210.68102}
m_SizeDelta: {x: 172.4196, y: 60.8774}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3916299505757501310
@ -2476,8 +2186,8 @@ GameObject:
- component: {fileID: 6571401156388493283}
- component: {fileID: 6638222401523381477}
- component: {fileID: 4564453993701455166}
- component: {fileID: 2090815513559429441}
- component: {fileID: 4066881216089628986}
- component: {fileID: 6709814296191377590}
m_Layer: 5
m_Name: UIAnnounceDiplomacy
m_TagString: Untagged
@ -2591,26 +2301,6 @@ MonoBehaviour:
m_EditorClassIdentifier:
_Animator: {fileID: 6638222401523381477}
_ActionOnDisable: 0
--- !u!114 &2090815513559429441
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7213861899831044015}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: eeb808137a68d2744a047c09a73906c7, type: 3}
m_Name:
m_EditorClassIdentifier:
_showAnimationClip: {fileID: 7400000, guid: f430213e501ad484ba7aa4488cb75c3b, type: 2}
_hideAnimationClip: {fileID: 7400000, guid: 44bf3d0e01b7d9541b83f40f919debc4, type: 2}
closeButton: {fileID: 6129489714779403295}
Title: {fileID: 5445789627621662599}
Content: {fileID: 5485222314326828454}
ChatBubble: {fileID: 7416861153036653712}
CharImage: {fileID: 8055323381638763413}
WonderImage: {fileID: 5542709971907706960}
--- !u!114 &4066881216089628986
MonoBehaviour:
m_ObjectHideFlags: 0
@ -2628,169 +2318,25 @@ MonoBehaviour:
AutoGameObjectList: []
ValueList: []
ClassName:
--- !u!1 &7394989027464390228
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6345764574624872283}
- component: {fileID: 449127047220873150}
- component: {fileID: 2425502655328242065}
- component: {fileID: 3931445040360377911}
m_Layer: 5
m_Name: ButtonText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6345764574624872283
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7394989027464390228}
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: 1617590443984694437}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &449127047220873150
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7394989027464390228}
m_CullTransparentMesh: 1
--- !u!114 &2425502655328242065
--- !u!114 &6709814296191377590
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7394989027464390228}
m_GameObject: {fileID: 7213861899831044015}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Script: {fileID: 11500000, guid: 118271669f81b52439a3db92eea75f16, 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: "\u62D2\u7EDD"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, 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: 38
m_fontSizeBase: 50
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 12
m_fontSizeMax: 38
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: 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 &3931445040360377911
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7394989027464390228}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
ID: 1674
FontID: 1
TextCfg:
- Type: 0
FontSize: 50
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
- Type: 1
FontSize: 50
CharacterSpacing: 0
WordSpacing: 0
LineSpacing: 0
ParagraphSpacing: 0
_showAnimationClip: {fileID: 0}
_hideAnimationClip: {fileID: 0}
closeButton: {fileID: 6129489714779403295}
Title: {fileID: 0}
ChatBubble: {fileID: 7416861153036653712}
CharImage1: {fileID: 8055323381638763413}
CharImage2: {fileID: 4776899555759814899}
--- !u!1 &7710946203549315869
GameObject:
m_ObjectHideFlags: 0
@ -2922,7 +2468,7 @@ RectTransform:
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: 0, y: -30}
m_AnchoredPosition: {x: 0, y: -18.400024}
m_SizeDelta: {x: 200, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2006689261004894748

View File

@ -112,7 +112,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 356.425, y: -79}
m_SizeDelta: {x: 0, y: 0}
m_SizeDelta: {x: 532.85, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &1788926383814855921
CanvasRenderer:
@ -2039,7 +2039,7 @@ RectTransform:
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: 0, y: -35}
m_AnchoredPosition: {x: 0, y: -17.4}
m_SizeDelta: {x: 200, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2006689261004894748

View File

@ -344,7 +344,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: -31.29271, y: 60.065613}
m_AnchoredPosition: {x: 4, y: -14}
m_SizeDelta: {x: 235.0019, y: 10.005798}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2457768871174696769
@ -886,7 +886,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 356.425, y: -79}
m_SizeDelta: {x: 0, y: 0}
m_SizeDelta: {x: 532.85, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7522110403647485899
CanvasRenderer:
@ -1800,6 +1800,8 @@ MonoBehaviour:
Avatar: {fileID: 8563570553450051630}
WarStateBG: {fileID: 3870352295928583148}
WarStateText: {fileID: 7167634396803413622}
DiplomacyBaseInfo: {fileID: 2346096541604194801}
ActionArea: {fileID: 1602262009084493556}
NoMeetText: {fileID: 6623925848885411558}
RelationText: {fileID: 8165877537025501972}
RelationBar: {fileID: 7325536663217747}
@ -1811,6 +1813,17 @@ MonoBehaviour:
- {fileID: 7361429633941779060}
- {fileID: 4657912488851017902}
- {fileID: 2481577881970964010}
OtherRelationAvatarList:
- {fileID: 248531950588318618}
- {fileID: 3593487119223307300}
- {fileID: 1846902779331100014}
- {fileID: 5182736649967640266}
- {fileID: 8062895456997619428}
- {fileID: 4237658144891742199}
- {fileID: 65608398382678043}
- {fileID: 3877156906758072350}
OtherRelationRow1: {fileID: 8029257971382173707}
OtherRelationRow2: {fileID: 1635220436415324038}
--- !u!1 &2660251576931185460
GameObject:
m_ObjectHideFlags: 0
@ -2319,7 +2332,7 @@ RectTransform:
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: 0, y: -52}
m_AnchoredPosition: {x: 0, y: -31.1}
m_SizeDelta: {x: 540, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7514331077797912738
@ -5225,6 +5238,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &1846902779331100014 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 137573299136497908}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &8840055584934153811 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5327,6 +5351,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &65608398382678043 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 1774506320260232577}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &7198649414970422054 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5429,6 +5464,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &248531950588318618 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 1962355693449963008}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &6952816217491349671 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5531,6 +5577,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &4237658144891742199 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 2487792136263176813}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &6467314596982248650 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5633,6 +5690,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &3593487119223307300 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 2997118183528532414}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &5967562542359007001 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5735,6 +5803,17 @@ PrefabInstance:
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
--- !u!114 &3877156906758072350 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 3280639021837868420}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!224 &6251495834794793763 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
@ -5842,6 +5921,17 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 6892057617532857168}
m_PrefabAsset: {fileID: 0}
--- !u!114 &5182736649967640266 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 6892057617532857168}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &8623389259935384446
PrefabInstance:
m_ObjectHideFlags: 0
@ -5944,3 +6034,14 @@ RectTransform:
m_CorrespondingSourceObject: {fileID: 8883048552380057255, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 8623389259935384446}
m_PrefabAsset: {fileID: 0}
--- !u!114 &8062895456997619428 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 1750007330506421658, guid: f9a5ed2b248ee8342a10f0ff3b2f3b96, type: 3}
m_PrefabInstance: {fileID: 8623389259935384446}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -270,7 +270,7 @@ GameObject:
- component: {fileID: 7744735438178242455}
- component: {fileID: 2840479651659836549}
m_Layer: 5
m_Name: CivName
m_Name: ForceName
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -323,7 +323,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: "{param}\u5E1D\u56FD"
m_text: "\u65AF\u5361\u96F7\u7279\u5E1D\u56FD"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, type: 2}
@ -350,7 +350,7 @@ MonoBehaviour:
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 15.75
m_fontSize: 15.05
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
@ -405,7 +405,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
Ban: 0
ID: 1625
ID: 1634
FontID: 0
TextCfg: []
--- !u!1 &5236431262166174176
@ -668,7 +668,7 @@ RectTransform:
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: 0, y: -38}
m_AnchoredPosition: {x: 0, y: -21.6}
m_SizeDelta: {x: 353.1177, y: 365.536}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4361843809929425286
@ -718,6 +718,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 8883048552380057255}
- component: {fileID: 1750007330506421658}
m_Layer: 5
m_Name: UIInfoDiplomacyAvatar
m_TagString: Untagged
@ -748,6 +749,22 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 107.0871, y: 139.0273}
m_Pivot: {x: 0, y: 0}
--- !u!114 &1750007330506421658
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8557138968931469370}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffd19e9247b321348a8f3301e3a7ff75, type: 3}
m_Name:
m_EditorClassIdentifier:
Avatar: {fileID: 526322830725458854}
RelationStateBG: {fileID: 2097295919244215583}
RelationStateText: {fileID: 5723525161666423997}
Title: {fileID: 7744735438178242455}
--- !u!1 &9161001560762917848
GameObject:
m_ObjectHideFlags: 0

File diff suppressed because it is too large Load Diff

View File

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

View File

@ -73145,6 +73145,7 @@ RectTransform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1016489979}
- {fileID: 133626133}
- {fileID: 1771623924}
- {fileID: 1724074551}
@ -96249,7 +96250,7 @@ MonoBehaviour:
AIMoreMoney: 0
LandThreshold: 0.3
AnimationSpeed: 1
DebugMode: 1
DebugMode: 0
DebugHideCenterMessage: 0
cityCount: 30
unitCount: 0
@ -142523,6 +142524,157 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016480135}
m_CullTransparentMesh: 1
--- !u!1 &1016489978
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1016489979}
- component: {fileID: 1016489981}
- component: {fileID: 1016489980}
- component: {fileID: 1016489982}
m_Layer: 5
m_Name: NoMeetText
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!224 &1016489979
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016489978}
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: 544909752}
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: 0, y: 0}
m_SizeDelta: {x: 200, y: 50}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1016489980
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016489978}
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: "\u672A\u7ED3\u8BC6\u73A9\u5BB6\u7684\u9886\u571F"
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: f74d73acde897024090a352531df919f, type: 2}
m_sharedMaterial: {fileID: -5194638153132371293, guid: f74d73acde897024090a352531df919f, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4290756543
m_fontColor: {r: 0.7484276, g: 0.7484276, b: 0.7484276, 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: 25
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 1
m_fontSizeMin: 18
m_fontSizeMax: 72
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: 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!222 &1016489981
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016489978}
m_CullTransparentMesh: 1
--- !u!114 &1016489982
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016489978}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 6b27f832d22e4a8d916272b644937774, type: 3}
m_Name:
m_EditorClassIdentifier:
Ban: 0
ID: 1711
FontID: 0
TextCfg: []
--- !u!1 &1017018305
GameObject:
m_ObjectHideFlags: 0
@ -253986,7 +254138,7 @@ RectTransform:
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: 0, y: -52}
m_AnchoredPosition: {x: 0, y: -29}
m_SizeDelta: {x: 540, y: 500}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1806835065

View File

@ -25,11 +25,16 @@ namespace TH1_Core.Events
/// </summary>
public void Initialize()
{
// 订阅所有事件
// 订阅所有AnnounceUI事件
EventManager.Subscribe<ShowUIAnnounceMajorEvent>(HandleShowUIAnnounceMajorEvent);
EventManager.Subscribe<ShowUIAnnounceDiplomacy>(HandleShowUIAnnounceDiplomacy);
EventManager.Subscribe<ShowUIInteractionCityUpgrade>(HandleShowUIInteractionCityUpgrade);
EventManager.Subscribe<ChoiceUIInteractionCityUpgrade>(HandleChoiceUIInteractionCityUpgrade);
EventManager.Subscribe<ShowUIInfoDiplomacy>(HandleShowUIInfoDiplomacy);
}
@ -40,8 +45,11 @@ namespace TH1_Core.Events
public void Shutdown()
{
EventManager.Unsubscribe<ShowUIAnnounceMajorEvent>(HandleShowUIAnnounceMajorEvent);
EventManager.Unsubscribe<ShowUIAnnounceDiplomacy>(HandleShowUIAnnounceDiplomacy);
EventManager.Unsubscribe<ShowUIInteractionCityUpgrade>(HandleShowUIInteractionCityUpgrade);
EventManager.Unsubscribe<ChoiceUIInteractionCityUpgrade>(HandleChoiceUIInteractionCityUpgrade);
EventManager.Unsubscribe<ShowUIInfoDiplomacy>(HandleShowUIInfoDiplomacy);
}
@ -53,6 +61,11 @@ namespace TH1_Core.Events
PresentationManager.EnqueueTask(new UISequencerTask(ViewControllerManager.UIAnnounceMajorEventController, evt));
}
private void HandleShowUIAnnounceDiplomacy(ShowUIAnnounceDiplomacy evt)
{
PresentationManager.EnqueueTask(new UISequencerTask(ViewControllerManager.UIAnnounceDiplomacyController, evt));
}
private void HandleShowUIInteractionCityUpgrade(ShowUIInteractionCityUpgrade evt)
{
PresentationManager.EnqueueTask(new UISequencerTask(ViewControllerManager.UIInterationCityUpgradeController, evt));
@ -79,5 +92,7 @@ namespace TH1_Core.Events
if (UIManager.Instance.UIInfoManager == null) return;
UIManager.Instance.UIInfoManager.StartNewTask(new UIInfoTask(ViewControllerManager.UIInfoDiplomacyController, evt));
}
}
}

View File

@ -1,5 +1,6 @@
using Logic.Action;
using RuntimeData;
using TH1_Logic.Action;
using UI.HintUI;
using UnityEngine;
@ -42,7 +43,15 @@ namespace TH1_Core.Events
public int Param1;
public int Param2;
}
public struct ShowUIAnnounceDiplomacy
{
public PlayerActionType PlayerActionType;
public uint PlayerId;
}
//---------------------------------------- UIInteraction 相关的事件 -----------------------------
public struct ShowUIInteractionCityUpgrade
{
//Param1 = cid Param2 = cityLevel
@ -57,10 +66,13 @@ namespace TH1_Core.Events
public CommonActionId ChoiceActionId;
}
public class UIEvents
{
}
//---------------------------------------- UIInfo 相关的事件 -----------------------------

View File

@ -490,7 +490,7 @@ namespace RuntimeData
player.DiplomacyData.GetCountryDiplomacyInfo(Id, out var playerToSelf);
selfToPlayer.FeelingStrategyList.Clear();
if (playerToSelf == null || selfToPlayer == null) continue;
var score = 0f;
var score = 50f;
// 明智的 愚蠢的
var score1 = 0f;

View File

@ -10,10 +10,14 @@ using Logic.Multilingual;
public class DiplomacyDataAssets : ScriptableObject
{
[MultilingualField] public string NoMeetText;
[MultilingualField] public string DiplomacyUITitle;
[MultilingualField] public string DiplomacyUITitleSelf;
[MultilingualField] public string DiplomacyUIOtherRelationTitle;
public List<DiplomacyStateInfo> DiplomacyStateInfoList;
public List<FeelingStateInfo> FeelingStateInfoList;
public List<FeelingStrategyInfo> FeelingStrategyInfoList;
public List<DiplomacyChatInfo> DiplomacyChatInfoList;
public bool GetStateInfo(DiplomacyState state,out DiplomacyStateInfo info)
{
foreach(var t in DiplomacyStateInfoList)
@ -51,6 +55,17 @@ public class DiplomacyDataAssets : ScriptableObject
return false;
}
public bool GetDiplomacyChatInfo(Forces force,out DiplomacyChatInfo info)
{
foreach(var t in DiplomacyChatInfoList)
if (force == t.force)
{
info = t;
return true;
}
info = null;
return false;
}
}
[Serializable]
@ -77,4 +92,20 @@ public class FeelingStrategyInfo
[MultilingualField] public string FeelingStrategyTitle;
[MultilingualField] public string FeelingStrategyDesc;
public Color FeelingStrategyColor;
}
}
[Serializable]
public class DiplomacyChatInfo
{
public Forces force;
public List<string> AllyBreakText;
public List<string> AllyOfferText;
public List<string> AllyAcceptText;
public List<string> AllyRefuseText;
public List<string> RelationTrustText;
public List<string> RelationAppreciateText;
public List<string> RelationIndifferentText;
public List<string> RelationSuspicionText;
public List<string> RelationTerribleText;
}

View File

@ -25,6 +25,18 @@ public enum UnitActionType { None,Upgrade,Recover,Heal,Examine,Gather,Capture,Di
public enum CityLevelUpActionType{None,Explorer,Workshop,CityWall,CityWealth,Expand,Population,Park,BigGuy}
public enum Forces
{
Remilia,
Kaguya,
Kanako,
Satori,
Reimu,
Byakuren,
Miko,
Zanmu
}
public enum SkillType
{
NONE,

View File

@ -12,6 +12,7 @@ using System.Collections.Generic;
using System.Linq;
using Logic.Action;
using RuntimeData;
using TH1_Core.Events;
using TH1_Core.Managers;
using TH1_Logic.Core;
using TH1Renderer;
@ -78,7 +79,24 @@ namespace TH1_Logic.Action
dipInfo2.IsLeagueRequest = true;
return true;
}
//Step #4 处理refuse结盟
//Step #4 处理accept结盟
if (_actionId.PlayerActionType == PlayerActionType.AcceptAlly)
{
//Step #1 关闭我方的对方结盟信件请求标记,登记为盟友
dipInfo.IsLeagueRequest = false;
dipInfo.DiplomacyState = DiplomacyState.League;
dipInfo2.DiplomacyState = DiplomacyState.League;
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,达成盟友
if (map == Main.MapData && targetPlayer.Id == map.PlayerMap.SelfPlayerId)
{
var announcement = new ShowUIAnnounceDiplomacy { PlayerActionType = PlayerActionType.AcceptAlly,PlayerId = player.Id };
EventManager.Publish(announcement);
}
return true;
}
//Step #5 处理refuse结盟
if (_actionId.PlayerActionType == PlayerActionType.RefuseAlly)
{
//Step #1 关闭对方的结盟请求标记
@ -86,13 +104,13 @@ namespace TH1_Logic.Action
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,明确拒绝对方
if (map == Main.MapData && targetPlayer.Id == map.PlayerMap.SelfPlayerId)
{
//var announcement = new ShowUIAnnounceMajorEvent { EventType = UIAnnounceMajorEventType.WonderStart,Param1 = (int)wonder };
//EventManager.Publish(announcement);
var announcement = new ShowUIAnnounceDiplomacy { PlayerActionType = PlayerActionType.RefuseAlly,PlayerId = player.Id };
EventManager.Publish(announcement);
}
return true;
}
//Step #5 处理break结盟
//Step #6 处理break结盟
if (_actionId.PlayerActionType == PlayerActionType.BreakAlly)
{
//Step #1 设置我对对方的外交状态为背盟
@ -100,8 +118,8 @@ namespace TH1_Logic.Action
//Step #2 如果target是真map真人玩家 弹出一个presentationUI 提示,明确背叛对方
if (map == Main.MapData && targetPlayer.Id == map.PlayerMap.SelfPlayerId)
{
//var announcement = new ShowUIAnnounceMajorEvent { EventType = UIAnnounceMajorEventType.WonderStart,Param1 = (int)wonder };
//EventManager.Publish(announcement);
var announcement = new ShowUIAnnounceDiplomacy { PlayerActionType = PlayerActionType.BreakAlly,PlayerId = player.Id };
EventManager.Publish(announcement);
}
return true;
}
@ -153,8 +171,8 @@ namespace TH1_Logic.Action
return true;
}
//Step #6 判断能否refuse结盟
if (_actionId.PlayerActionType == PlayerActionType.RefuseAlly)
//Step #6 && #7 判断能否refuse / accept 结盟
if (_actionId.PlayerActionType == PlayerActionType.RefuseAlly || _actionId.PlayerActionType == PlayerActionType.AcceptAlly)
{
actionParams.PlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.TargetPlayerData.Id, out var dipInfo);
//如果刚解除结盟或者已经结盟 return
@ -163,12 +181,12 @@ namespace TH1_Logic.Action
return false;
//如果对方没有结盟请求
actionParams.TargetPlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.PlayerData.Id,out var dipInfo2);
if (!dipInfo2.IsLeagueRequest) return false;
//actionParams.TargetPlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.PlayerData.Id,out var dipInfo2);
if (!dipInfo.IsLeagueRequest) return false;
return true;
}
//Step #7 判断能否break结盟
//Step #8 判断能否break结盟
if (_actionId.PlayerActionType == PlayerActionType.BreakAlly)
{
actionParams.PlayerData.DiplomacyData.GetCountryDiplomacyInfo(actionParams.TargetPlayerData.Id, out var dipInfo);

View File

@ -346,9 +346,7 @@ namespace Logic
// 获取firstMeet金钱数额
public int GetFirstMeetCoin(MapData map, PlayerData player)
{
if (map.GetCapitalCityDataByPlayerId(player.Id, out var capitalCity))
return capitalCity.Level * 2 - 1;
return 0;
return player.PlayerScore / 1000 * 2 + 3;
}
//获取player目前拥有城市的最高等级
public int GetMaxCityLevel(MapData map, PlayerData player)

View File

@ -261,10 +261,20 @@ public class BottomInfoUI// : MonoBehaviour
if (!show)
{
_playerInfoAvatar.SetActive(false);
_playerBaseInfo.transform.Find("NoMeetText")?.gameObject.SetActive(false);
return;
}
_playerInfoAvatar.SetActive(true);
//处理未结识玩家的领土问题(不显示头像,显示一段文字)
if (!Main.MapData.PlayerMap.SelfPlayerData.MeetPlayers.Contains(player.Id))
{
_playerInfoAvatar.SetActive(false);
_playerBaseInfo.transform.Find("NoMeetText")?.gameObject.SetActive(true);
return;
}
_playerBaseInfo.transform.Find("NoMeetText")?.gameObject.SetActive(false);
_playerInfoAvatar.SetActive(true);
Table.Instance.PlayerDataAssets.GetPlayerInfo(player,out var info);
_playerInfoAvatar.transform.Find("ImageMask/ImageChar").GetComponent<Image>().sprite = info.LeaderIllustration;
var txt = _playerInfoAvatar.transform.Find("NameMask/Text").GetComponent<TextMeshProUGUI>();

View File

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

View File

@ -0,0 +1,26 @@
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.Components
{
public class UIInfoDiplomacyAvatarMono : MonoBehaviour
{
public Image Avatar;
public Image RelationStateBG;
public TextMeshProUGUI RelationStateText;
public TextMeshProUGUI Title;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
}

View File

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

View File

@ -0,0 +1,71 @@
// 文件位置建议: Assets/Scripts/TH1_UI/Controller/UIAnnounceMajorEventController.cs
using TH1_Core.Events;
using TH1_UI.Controller.Base;
using TH1_UI.View.Announce;
using UnityEngine;
// 确保这里引用了View脚本的命名空间
namespace TH1_UI.Controller.Announce
{
/// <summary>
/// 重大事件公告界面的控制器。
/// 它的职责是处理玩家相遇、玩家被消灭之类的宣告
/// </summary>
public class UIAnnounceDiplomacyController : ViewController<UIAnnounceDiplomacyView> // 泛型参数是对应的View脚本
{
/// <summary>
/// ✅ 【新增】一个空的构造函数,以满足 ViewControllerManager._CreateView 的 new() 泛型约束。
/// </summary>
public UIAnnounceDiplomacyController() { }
protected override void RegisterEventCallback()
{
base.RegisterEventCallback();
if (WindowScript != null)
{
WindowScript.OnBtnCloseClick += _OnBtnCloseClick;
}
}
protected override void UnregisterEventCallback()
{
if (WindowScript != null)
{
WindowScript.OnBtnCloseClick = null;
}
base.UnregisterEventCallback();
}
protected override void OnOpen()
{
base.OnOpen();
// 检查暂存的参数是否存在且类型正确
if (_openParameter is ShowUIAnnounceDiplomacy evt)
{
// 使用接收到的数据设置UI内容
if (WindowScript != null)
{
WindowScript.SetContent(evt);
}
}
else
{
// 如果没有参数或参数类型不符,可以提供默认内容或打印警告
Debug.LogWarning("[UIAnnounceDiplomacyController] Opened without valid parameters.");
if (WindowScript != null)
{
//WindowScript.SetContent("警告", "内容未提供");
}
}
}
void _OnBtnCloseClick()
{
Close();
}
}
}

View File

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

View File

@ -10,7 +10,9 @@ namespace TH1_UI.Core
// ✅ 【新增】为新的UI添加资源名常量
public static readonly string ViewAnnounceMajorEvent = "UIAnnounceMajorEvent";
public static readonly string ViewAnnounceDiplomacy = "UIAnnounceDiplomacy";
public static readonly string ViewInteractionCityUpgrade = "UIInteractionCityUpgrade";
public static readonly string ViewInfoDiplomacy = "UIInfoDiplomacy";
}
}

View File

@ -27,6 +27,7 @@ namespace TH1_UI.Core
// ================================================= Announce ================================================================
public static UIAnnounceMajorEventController UIAnnounceMajorEventController { get { return _announceMajorEventController; } }
public static UIAnnounceDiplomacyController UIAnnounceDiplomacyController { get { return _announceDiplomacyController; } }
// ================================================= Interaction ================================================================
public static UIInteractionCityUpgradeController UIInterationCityUpgradeController { get { return _interactionCityUpgradeController; } }
@ -50,6 +51,7 @@ namespace TH1_UI.Core
// ================================================= Announce ================================================================
_announceMajorEventController = _CreateView<UIAnnounceMajorEventController>("Announce", UIResourceName.ViewAnnounceMajorEvent, ViewDestroyDomain.None,UIRootType.PresentationUI);
_announceDiplomacyController = _CreateView<UIAnnounceDiplomacyController>("Announce", UIResourceName.ViewAnnounceDiplomacy, ViewDestroyDomain.None,UIRootType.PresentationUI);
// ================================================= Interaction ================================================================
_interactionCityUpgradeController = _CreateView<UIInteractionCityUpgradeController>("Interaction", UIResourceName.ViewInteractionCityUpgrade, ViewDestroyDomain.None,UIRootType.PresentationUI);
@ -144,9 +146,12 @@ namespace TH1_UI.Core
}
// ✅【新增】2. 添加新UI的私有静态字段
private static UIAnnounceMajorEventController _announceMajorEventController = null;
private static UIAnnounceDiplomacyController _announceDiplomacyController = null;
private static UIInteractionCityUpgradeController _interactionCityUpgradeController = null;
private static UIInfoDiplomacyController _infoDiplomacyController = null;
static Dictionary<string, IViewControllerInterface> _viewDict = new Dictionary<string, IViewControllerInterface>();
/*

View File

@ -0,0 +1,54 @@
using System.Collections.Generic;
using Logic;
using Logic.CrashSight;
using Logic.Multilingual;
using RuntimeData;
using TH1_Core.Events;
using TH1_Logic.Action;
using TH1_Logic.Core;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
namespace TH1_UI.View.Announce
{
public class UIAnnounceDiplomacyView : Base.View
{
public Button closeButton;
public TextMeshProUGUI Title;
public Transform ChatBubble;
public Transform CharImage1;
public Transform CharImage2;
public ViDelegateAssisstant.Dele OnBtnCloseClick;
protected override void InitStart()
{
base.InitStart();
closeButton.onClick.RemoveAllListeners();
closeButton.onClick.AddListener(() => { OnBtnCloseClick.Invoke(); });
}
public void SetContent(ShowUIAnnounceDiplomacy evt)
{
if (Title == null || ChatBubble == null || CharImage1 == null || CharImage2 == null)
{
LogSystem.LogError("UIAnnounceDiplomacyView.SetContent(): Title or ChatBubble or CharImage1 or CharImage2 is null");
return;
}
switch (evt.PlayerActionType)
{
case PlayerActionType.AcceptAlly:
Title.text = "AcceptAlly";
break;
case PlayerActionType.RefuseAlly:
Title.text = "RefuseAlly";
break;
case PlayerActionType.BreakAlly:
Title.text = "BreakAlly";
break;
}
}
}
}

View File

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

View File

@ -5,6 +5,7 @@ using Logic.Multilingual;
using RuntimeData;
using TH1_Core.Events;
using TH1_Logic.Core;
using TH1_UI.Components;
using TH1_UI.HintUI;
using TH1Resource;
using TMPro;
@ -21,7 +22,11 @@ namespace TH1_UI.View.Info
public Image Avatar;
public Image WarStateBG;
public TextMeshProUGUI WarStateText;
public Transform DiplomacyBaseInfo;
public Transform ActionArea;
public TextMeshProUGUI NoMeetText;
public TextMeshProUGUI RelationText;
public GameObject RelationBar;
@ -31,8 +36,11 @@ namespace TH1_UI.View.Info
public TextMeshProUGUI BubbleChatText;
public List<Transform> ActionList;
public List<UIInfoDiplomacyAvatarMono> OtherRelationAvatarList;
public Transform OtherRelationRow1;
public Transform OtherRelationRow2;
public ViDelegateAssisstant.Dele OnBtnCloseClick;
protected override void InitStart()
@ -51,131 +59,176 @@ namespace TH1_UI.View.Info
var dipTable = Table.Instance.DiplomacyDataAssets;
//step #1 设置title
if (Title != null && Title.gameObject.GetComponent<MultilingualTextMono>() != null)
if (Title != null)
{
var mid = Title.gameObject.GetComponent<MultilingualTextMono>().ID;
var forceName = MultilingualManager.Instance.GetMultilingualText(uint.Parse(info.ForceName));
MultilingualManager.Instance.SetUIText(Title,mid.ToString(),new List<string>(){forceName});
var titleText = (pid == Main.MapData.PlayerMap.SelfPlayerData.Id) ? Table.Instance.DiplomacyDataAssets.DiplomacyUITitleSelf:Table.Instance.DiplomacyDataAssets.DiplomacyUITitle;
MultilingualManager.Instance.SetUIText(Title,titleText,new List<string>{forceName});
}
//step #2 设置avatar和warstate
if (Avatar != null)
Avatar.sprite = info.LeaderIllustration;
if (WarStateBG != null && WarStateText!= null && dipTable.GetStateInfo(dipInfo.DiplomacyState,out var stateInfo))
//然后进入设置关系和actionArea阶段这里要分未自身和其他玩家 两个part来处理
//如果不是真人玩家自身,而是别人
if (pid != Main.MapData.PlayerMap.SelfPlayerData.Id)
{
WarStateBG.material = stateInfo.stateBGMat;
MultilingualManager.Instance.SetUIText(WarStateText,stateInfo.stateText) ;
}
//step #3 设置relation
if (NoMeetText != null && RelationHandle != null && RelationText != null && RelationBar != null && dipTable.GetFeelingInfo(dipInfo.FeelingState,out var feelingInfo))
{
//如果对方还未发现我们
if (dipInfo.DiplomacyState == DiplomacyState.NoDiplomacy)
DiplomacyBaseInfo?.gameObject.SetActive(true);
ActionArea?.gameObject.SetActive(true);
//step #2 设置avatar和warstate
if (Avatar != null)
Avatar.sprite = info.LeaderIllustration;
if (WarStateBG != null && WarStateText!= null && dipTable.GetStateInfo(dipInfo.DiplomacyState,out var stateInfo))
{
NoMeetText.gameObject.SetActive(true);
RelationBar.SetActive(false);
RelationText.gameObject.SetActive(false);
}
//如果对方已经发现了我们
else
{
NoMeetText.gameObject.SetActive(false);
RelationBar.SetActive(true);
RelationText.gameObject.SetActive(true);
MultilingualManager.Instance.SetUIText(RelationText,feelingInfo.feelingText);
RelationText.color = feelingInfo.feelingColor;
RelationHandle.anchoredPosition = new Vector2(Mathf.Lerp(-330f, -30f, dipInfo.FeelingValue/100f),RelationHandle.anchoredPosition.y);
}
var text = "<color=yellow>对方认为您:</color><br>";
foreach (var op in dipInfo.FeelingStrategyList)
{
if (!Table.Instance.DiplomacyDataAssets.GetFeelingStragegyInfo(op, out var stgInfo)) continue;
text += $"<color=#{ColorUtility.ToHtmlStringRGB(stgInfo.FeelingStrategyColor)}>";
text += MultilingualManager.Instance.GetMultilingualText(uint.Parse(stgInfo.FeelingStrategyTitle));
text += "</color>:";
text += MultilingualManager.Instance.GetMultilingualText(uint.Parse(stgInfo.FeelingStrategyDesc));
text += "<br>";
WarStateBG.material = stateInfo.stateBGMat;
MultilingualManager.Instance.SetUIText(WarStateText,stateInfo.stateText) ;
}
RelationHintText.DataProvider.Text = text;
}
//step #4 设置Action List
foreach (var tr in ActionList)
if (tr.GetComponent<ActionIdMono>() != null)
//step #3 设置relation
if (NoMeetText != null && RelationHandle != null && RelationText != null && RelationBar != null && dipTable.GetFeelingInfo(dipInfo.FeelingState,out var feelingInfo))
{
var act = tr.GetComponent<ActionIdMono>().ActionId;
var actionParams = new CommonActionParams(
mapData: Main.MapData,
playerData: Main.MapData.PlayerMap.SelfPlayerData,
targetPlayer:player,
mainObjectType: MainObjectType.Player);
var actLogic = ActionLogicFactory.GetActionLogic(act);
//先设置是否显示按钮
tr.gameObject.SetActive(false);
if (actLogic.CheckShow(actionParams))
//如果对方还未发现我们
if (dipInfo.DiplomacyState == DiplomacyState.NoDiplomacy)
{
tr.gameObject.SetActive(true);
//决定具体显示按钮为什么颜色
var stt = actLogic.CheckShowState(actionParams);
var img = tr.GetComponent<Image>();
var star = tr.Find("Coin");
var cost = tr.Find("Cost")?.GetComponent<TextMeshProUGUI>();
if(img != null)
switch (stt)
{
case ActionShowState.Unavailable:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGUnavailable;
if(star != null)star.gameObject.SetActive(false);
if(cost != null)cost.gameObject.SetActive(false);
break;
case ActionShowState.Available:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGAvailable;
if (star != null)star.gameObject.SetActive(true);
if (cost != null)
{
cost.gameObject.SetActive(true);
cost.color = Color.white;
}
break;
case ActionShowState.Expensive:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGExpensive;
if (star != null)star.gameObject.SetActive(true);
if (cost != null)
{
cost.gameObject.SetActive(true);
cost.color = Color.red;
}
break;
case ActionShowState.Finished:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.TechCompleteBackground;
if (star != null)star.gameObject.SetActive(false);
if (cost != null)cost.gameObject.SetActive(false);
break;
}
//绑定点击事件
var btn = tr.GetComponent<Button>();
if (btn != null)
NoMeetText.gameObject.SetActive(true);
RelationBar.SetActive(false);
RelationText.gameObject.SetActive(false);
}
//如果对方已经发现了我们
else
{
NoMeetText.gameObject.SetActive(false);
RelationBar.SetActive(true);
RelationText.gameObject.SetActive(true);
MultilingualManager.Instance.SetUIText(RelationText,feelingInfo.feelingText);
RelationText.color = feelingInfo.feelingColor;
RelationHandle.anchoredPosition = new Vector2(Mathf.Lerp(-330f, -30f, dipInfo.FeelingValue/100f),RelationHandle.anchoredPosition.y);
}
var text = $"<color=yellow>对方认为您:({dipInfo.FeelingValue})</color><br>";
foreach (var op in dipInfo.FeelingStrategyList)
{
if (!Table.Instance.DiplomacyDataAssets.GetFeelingStragegyInfo(op, out var stgInfo)) continue;
text += $"<color=#{ColorUtility.ToHtmlStringRGB(stgInfo.FeelingStrategyColor)}>";
text += MultilingualManager.Instance.GetMultilingualText(uint.Parse(stgInfo.FeelingStrategyTitle));
text += "</color>:";
text += MultilingualManager.Instance.GetMultilingualText(uint.Parse(stgInfo.FeelingStrategyDesc));
text += "<br>";
}
RelationHintText.DataProvider.Text = text;
}
//step #4 设置Action List
foreach (var tr in ActionList)
if (tr.GetComponent<ActionIdMono>() != null)
{
var act = tr.GetComponent<ActionIdMono>().ActionId;
var actionParams = new CommonActionParams(
mapData: Main.MapData,
playerData: Main.MapData.PlayerMap.SelfPlayerData,
targetPlayer:player,
mainObjectType: MainObjectType.Player);
var actLogic = ActionLogicFactory.GetActionLogic(act);
//先设置是否显示按钮
tr.gameObject.SetActive(false);
if (actLogic.CheckShow(actionParams))
{
btn.onClick.RemoveAllListeners();
btn.onClick.AddListener(() =>
tr.gameObject.SetActive(true);
//决定具体显示按钮为什么颜色
var stt = actLogic.CheckShowState(actionParams);
var img = tr.GetComponent<Image>();
var star = tr.Find("Coin");
var cost = tr.Find("Cost")?.GetComponent<TextMeshProUGUI>();
if(img != null)
switch (stt)
{
case ActionShowState.Unavailable:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGUnavailable;
if(star != null)star.gameObject.SetActive(false);
if(cost != null)cost.gameObject.SetActive(false);
break;
case ActionShowState.Available:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGAvailable;
if (star != null)star.gameObject.SetActive(true);
if (cost != null)
{
cost.gameObject.SetActive(true);
cost.color = Color.white;
}
break;
case ActionShowState.Expensive:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.ActionBGExpensive;
if (star != null)star.gameObject.SetActive(true);
if (cost != null)
{
cost.gameObject.SetActive(true);
cost.color = Color.red;
}
break;
case ActionShowState.Finished:
tr.GetComponent<Image>().sprite = ResourceCache.Instance.SpriteCache.TechCompleteBackground;
if (star != null)star.gameObject.SetActive(false);
if (cost != null)cost.gameObject.SetActive(false);
break;
}
//绑定点击事件
var btn = tr.GetComponent<Button>();
if (btn != null)
{
//如果成功执行,关闭当前窗口
if (actLogic.Execute(actionParams, false))
closeButton.onClick.Invoke();
});
btn.onClick.RemoveAllListeners();
btn.onClick.AddListener(() =>
{
//如果成功执行,关闭当前窗口
if (actLogic.Execute(actionParams, false))
closeButton.onClick.Invoke();
});
}
}
}
}
}
//如果是真人玩家自身
else
{
DiplomacyBaseInfo?.gameObject.SetActive(false);
ActionArea?.gameObject.SetActive(false);
}
//Step #5 设置该玩家和其他玩家的关系
if (OtherRelationAvatarList != null && OtherRelationRow1 != null && OtherRelationRow2 != null)
{
//判断鲁棒性
if (player.MeetPlayers.Count - 1 > OtherRelationAvatarList.Count) return;
OtherRelationRow1.gameObject.SetActive(true);
OtherRelationRow2.gameObject.SetActive(player.MeetPlayers.Count - 1 > 4);
int rk = 0;
//依次设置pid对她的每一个pid2的外交关系
foreach (var pid2 in player.MeetPlayers)
{
if (pid2 == pid) continue;
OtherRelationAvatarList[rk].gameObject.SetActive(true);
if(!Main.MapData.PlayerMap.GetPlayerDataByPlayerID(pid2,out var player2))continue;
if(!Table.Instance.PlayerDataAssets.GetPlayerInfo(player2, out var player2Info))continue;
player.DiplomacyData.GetCountryDiplomacyInfo(pid2, out var dipInfo2);
if(!Table.Instance.DiplomacyDataAssets.GetStateInfo(dipInfo2.DiplomacyState, out var stateInfo2))continue;
//设置名字、头像、外交状态
MultilingualManager.Instance.SetUIText(OtherRelationAvatarList[rk].Title, player2Info.ForceName);
if(OtherRelationAvatarList[rk].Avatar != null)
OtherRelationAvatarList[rk].Avatar.sprite = player2Info.LeaderIllustration;
if(OtherRelationAvatarList[rk].RelationStateBG != null)
OtherRelationAvatarList[rk].RelationStateBG.material = stateInfo2.stateBGMat;
if(OtherRelationAvatarList[rk].RelationStateText)
MultilingualManager.Instance.SetUIText(OtherRelationAvatarList[rk].RelationStateText ,stateInfo2.stateText);
rk++;
}
for(;rk < OtherRelationAvatarList.Count;rk++)
OtherRelationAvatarList[rk].gameObject.SetActive(false);
}
}
}