Commit 15bccc0f authored by SherryChaos's avatar SherryChaos

special win animation & card rendering language setting

parent 8d29331c
...@@ -6436,7 +6436,7 @@ MonoBehaviour: ...@@ -6436,7 +6436,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0 m_HorizontalOverflow: 0
m_VerticalOverflow: 0 m_VerticalOverflow: 0
m_LineSpacing: 0 m_LineSpacing: 0
m_Text: "\u9752\u773C\u767D\u9F99" m_Text:
--- !u!222 &124899931 --- !u!222 &124899931
CanvasRenderer: CanvasRenderer:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -6730,7 +6730,7 @@ RectTransform: ...@@ -6730,7 +6730,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -399.99988, y: 0} m_AnchoredPosition: {x: -399.99985, y: 0}
m_SizeDelta: {x: -1350, y: 80} m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0} m_Pivot: {x: 1, y: 0}
--- !u!114 &129642814 --- !u!114 &129642814
...@@ -7653,7 +7653,7 @@ RectTransform: ...@@ -7653,7 +7653,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5} m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -490.00037, y: 0} m_AnchoredPosition: {x: -490.00034, y: 0}
m_SizeDelta: {x: 490, y: 2000} m_SizeDelta: {x: 490, y: 2000}
m_Pivot: {x: 0, y: 0.5} m_Pivot: {x: 0, y: 0.5}
--- !u!114 &153416284 --- !u!114 &153416284
...@@ -12916,7 +12916,7 @@ RectTransform: ...@@ -12916,7 +12916,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &250597853 --- !u!114 &250597853
...@@ -13217,6 +13217,7 @@ RectTransform: ...@@ -13217,6 +13217,7 @@ RectTransform:
- {fileID: 1284572561} - {fileID: 1284572561}
- {fileID: 1149457841} - {fileID: 1149457841}
- {fileID: 1802412320} - {fileID: 1802412320}
- {fileID: 1437610478}
- {fileID: 1914298059} - {fileID: 1914298059}
m_Father: {fileID: 835420698} m_Father: {fileID: 835420698}
m_RootOrder: 0 m_RootOrder: 0
...@@ -13224,7 +13225,7 @@ RectTransform: ...@@ -13224,7 +13225,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 2250} m_SizeDelta: {x: 0, y: 2400}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!1 &256757514 --- !u!1 &256757514
GameObject: GameObject:
...@@ -15808,7 +15809,7 @@ RectTransform: ...@@ -15808,7 +15809,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &296823158 --- !u!114 &296823158
...@@ -17924,7 +17925,7 @@ RectTransform: ...@@ -17924,7 +17925,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -399.99988, y: 300} m_AnchoredPosition: {x: -399.99985, y: 300}
m_SizeDelta: {x: -1350, y: 80} m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0} m_Pivot: {x: 1, y: 0}
--- !u!114 &365844423 --- !u!114 &365844423
...@@ -22297,7 +22298,7 @@ MonoBehaviour: ...@@ -22297,7 +22298,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 902627732} m_HandleRect: {fileID: 902627732}
m_Direction: 2 m_Direction: 2
m_Value: 1 m_Value: 1
m_Size: 0.48 m_Size: 0.44999996
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
...@@ -26532,6 +26533,85 @@ CanvasRenderer: ...@@ -26532,6 +26533,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 517009798} m_GameObject: {fileID: 517009798}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &518636960
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 518636961}
- component: {fileID: 518636963}
- component: {fileID: 518636962}
m_Layer: 5
m_Name: '#Text_Ex'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &518636961
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 518636960}
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_Children: []
m_Father: {fileID: 1442862352}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: 25, y: -26}
m_SizeDelta: {x: -50, y: 40}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &518636962
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 518636960}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
m_Font: {fileID: 12800000, guid: cdf4c81f8bf6eb248a105d8a5edf19fd, type: 3}
m_FontSize: 23
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 59
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u8BBE\u7F6E\u5361\u56FE\u4E2D\u7684\u8BED\u8A00"
--- !u!222 &518636963
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 518636960}
m_CullTransparentMesh: 1
--- !u!1 &519101194 --- !u!1 &519101194
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -34688,6 +34768,8 @@ MonoBehaviour: ...@@ -34688,6 +34768,8 @@ MonoBehaviour:
autoRPSValue: {fileID: 447766551} autoRPSValue: {fileID: 447766551}
uiScale: {fileID: 878213415} uiScale: {fileID: 878213415}
uiScaleValue: {fileID: 827639876} uiScaleValue: {fileID: 827639876}
cardLanguage: {fileID: 1442862357}
cardLanguageValue: {fileID: 1593847972}
language: {fileID: 2138794183} language: {fileID: 2138794183}
languageValue: {fileID: 494374500} languageValue: {fileID: 494374500}
duelAppearance: {fileID: 586408462} duelAppearance: {fileID: 586408462}
...@@ -34891,7 +34973,7 @@ RectTransform: ...@@ -34891,7 +34973,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &681567863 --- !u!114 &681567863
...@@ -35648,7 +35730,7 @@ RectTransform: ...@@ -35648,7 +35730,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0.000030517578} m_AnchoredPosition: {x: 0, y: -0.000030517578}
m_SizeDelta: {x: 0, y: 300} m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!114 &702608002 --- !u!114 &702608002
...@@ -37543,7 +37625,7 @@ RectTransform: ...@@ -37543,7 +37625,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: -419.99988, y: -60} m_AnchoredPosition: {x: -419.99985, y: -60}
m_SizeDelta: {x: 400, y: 760} m_SizeDelta: {x: 400, y: 760}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &736958434 --- !u!114 &736958434
...@@ -38977,7 +39059,7 @@ MonoBehaviour: ...@@ -38977,7 +39059,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 476827028} m_HandleRect: {fileID: 476827028}
m_Direction: 2 m_Direction: 2
m_Value: 1 m_Value: 1
m_Size: 0.62751776 m_Size: 0.63850546
m_NumberOfSteps: 0 m_NumberOfSteps: 0
m_OnValueChanged: m_OnValueChanged:
m_PersistentCalls: m_PersistentCalls:
...@@ -51055,7 +51137,7 @@ RectTransform: ...@@ -51055,7 +51137,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1005556390 --- !u!114 &1005556390
...@@ -55564,7 +55646,7 @@ RectTransform: ...@@ -55564,7 +55646,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0.000030517578}
m_SizeDelta: {x: 0, y: 300} m_SizeDelta: {x: 0, y: 300}
m_Pivot: {x: 0.5, y: 1} m_Pivot: {x: 0.5, y: 1}
--- !u!1 &1117266860 --- !u!1 &1117266860
...@@ -60392,7 +60474,7 @@ MonoBehaviour: ...@@ -60392,7 +60474,7 @@ MonoBehaviour:
m_OnCullStateChanged: m_OnCullStateChanged:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_text: "Ave M\xE1xima del Valle Brumoso" m_text:
m_isRightToLeft: 0 m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 61da779331669ef43956c281aebd9006, type: 2} m_fontAsset: {fileID: 11400000, guid: 61da779331669ef43956c281aebd9006, type: 2}
m_sharedMaterial: {fileID: -1319644866169810436, guid: 61da779331669ef43956c281aebd9006, type: 2} m_sharedMaterial: {fileID: -1319644866169810436, guid: 61da779331669ef43956c281aebd9006, type: 2}
...@@ -68789,7 +68871,7 @@ RectTransform: ...@@ -68789,7 +68871,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1371617110 --- !u!114 &1371617110
...@@ -68941,7 +69023,7 @@ RectTransform: ...@@ -68941,7 +69023,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -399.99988, y: 150} m_AnchoredPosition: {x: -399.99985, y: 150}
m_SizeDelta: {x: -1350, y: 80} m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0} m_Pivot: {x: 1, y: 0}
--- !u!114 &1374530642 --- !u!114 &1374530642
...@@ -72754,6 +72836,82 @@ RectTransform: ...@@ -72754,6 +72836,82 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 1500} m_SizeDelta: {x: 0, y: 1500}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!1 &1437610477
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1437610478}
- component: {fileID: 1437610480}
- component: {fileID: 1437610479}
m_Layer: 5
m_Name: CardLanguage
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1437610478
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1437610477}
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_Children:
- {fileID: 1442862352}
m_Father: {fileID: 255926432}
m_RootOrder: 14
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 10, y: -2080}
m_SizeDelta: {x: -50, y: 140}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1437610479
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1437610477}
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: c60170ace8b98804da6966754b4bf67e, 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!222 &1437610480
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1437610477}
m_CullTransparentMesh: 1
--- !u!1 &1440028868 --- !u!1 &1440028868
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -72954,6 +73112,170 @@ Transform: ...@@ -72954,6 +73112,170 @@ Transform:
m_Father: {fileID: 365283973} m_Father: {fileID: 365283973}
m_RootOrder: 3 m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1442862351
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1442862352}
- component: {fileID: 1442862356}
- component: {fileID: 1442862355}
- component: {fileID: 1442862357}
- component: {fileID: 1442862354}
- component: {fileID: 1442862353}
m_Layer: 5
m_Name: Button
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1442862352
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
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_Children:
- {fileID: 1525256698}
- {fileID: 518636961}
- {fileID: 1593847970}
- {fileID: 1921542594}
m_Father: {fileID: 1437610478}
m_RootOrder: 0
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!95 &1442862353
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: a331e0b501f943a4ebf8f266a43ae8f7, type: 2}
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 &1442862354
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c48b628189305e649b63ee28987f282f, type: 3}
m_Name:
m_EditorClassIdentifier:
previewClip: {fileID: 0}
enterAudio:
clickAudio: SE_MENU_SELECT_01
exitAudio:
audioType: 0
--- !u!114 &1442862355
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 2100000, guid: 9126a6c7014175e4b91a80f607d03903, 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: 21300000, guid: cd51bb57b5d16b14b82579d3a9d130fc, 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!222 &1442862356
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
m_CullTransparentMesh: 1
--- !u!114 &1442862357
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1442862351}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 0
m_WrapAround: 0
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 3
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 0}
m_HighlightedColor: {r: 1, g: 1, b: 1, a: 1}
m_PressedColor: {r: 0.6, g: 0.6, b: 0.6, 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: 1442862355}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &1443061674 --- !u!1 &1443061674
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -77940,6 +78262,85 @@ CanvasRenderer: ...@@ -77940,6 +78262,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1524753703} m_GameObject: {fileID: 1524753703}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1525256697
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1525256698}
- component: {fileID: 1525256700}
- component: {fileID: 1525256699}
m_Layer: 5
m_Name: '#Text_Title'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1525256698
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1525256697}
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_Children: []
m_Father: {fileID: 1442862352}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 25, y: -30}
m_SizeDelta: {x: -75, y: 40}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &1525256699
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1525256697}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData:
m_Font: {fileID: 12800000, guid: cdf4c81f8bf6eb248a105d8a5edf19fd, type: 3}
m_FontSize: 25
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 59
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u5361\u56FE\u8BED\u8A00"
--- !u!222 &1525256700
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1525256697}
m_CullTransparentMesh: 1
--- !u!1 &1527418541 --- !u!1 &1527418541
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -81051,6 +81452,85 @@ CanvasRenderer: ...@@ -81051,6 +81452,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593276268} m_GameObject: {fileID: 1593276268}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1593847969
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1593847970}
- component: {fileID: 1593847971}
- component: {fileID: 1593847972}
m_Layer: 5
m_Name: Text_SettingValue
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1593847970
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593847969}
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_Children: []
m_Father: {fileID: 1442862352}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -100, y: -15}
m_SizeDelta: {x: 600, y: 40}
m_Pivot: {x: 1, y: 1}
--- !u!222 &1593847971
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593847969}
m_CullTransparentMesh: 1
--- !u!114 &1593847972
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593847969}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 0.8, g: 1, b: 0, 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_FontData:
m_Font: {fileID: 12800000, guid: cdf4c81f8bf6eb248a105d8a5edf19fd, type: 3}
m_FontSize: 25
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 2
m_MaxSize: 40
m_Alignment: 5
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u7B80\u4F53\u4E2D\u6587"
--- !u!1 &1594175424 --- !u!1 &1594175424
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -92740,7 +93220,7 @@ RectTransform: ...@@ -92740,7 +93220,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5} m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 1, y: 0.5} m_AnchorMax: {x: 1, y: 0.5}
m_AnchoredPosition: {x: -399.99988, y: -150} m_AnchoredPosition: {x: -399.99985, y: -150}
m_SizeDelta: {x: -1350, y: 80} m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0} m_Pivot: {x: 1, y: 0}
--- !u!114 &1800729521 --- !u!114 &1800729521
...@@ -97653,7 +98133,7 @@ RectTransform: ...@@ -97653,7 +98133,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.49988, y: -540} m_AnchoredPosition: {x: 247.49985, y: -540}
m_SizeDelta: {x: -565, y: 1080} m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1895460095 --- !u!114 &1895460095
...@@ -98890,11 +99370,11 @@ RectTransform: ...@@ -98890,11 +99370,11 @@ RectTransform:
m_Children: m_Children:
- {fileID: 2138794180} - {fileID: 2138794180}
m_Father: {fileID: 255926432} m_Father: {fileID: 255926432}
m_RootOrder: 14 m_RootOrder: 15
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 10, y: -2080} m_AnchoredPosition: {x: 10, y: -2230}
m_SizeDelta: {x: -50, y: 140} m_SizeDelta: {x: -50, y: 140}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &1914298060 --- !u!114 &1914298060
...@@ -99098,6 +99578,81 @@ CanvasRenderer: ...@@ -99098,6 +99578,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1918493725} m_GameObject: {fileID: 1918493725}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1921542593
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1921542594}
- component: {fileID: 1921542596}
- component: {fileID: 1921542595}
m_Layer: 5
m_Name: Arrow
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1921542594
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1921542593}
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_Children: []
m_Father: {fileID: 1442862352}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 1, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: -20, y: -35}
m_SizeDelta: {x: 20.8, y: 32}
m_Pivot: {x: 1, y: 0.5}
--- !u!114 &1921542595
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1921542593}
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: 579c4968ae1425a4594bdd981b3d8ee6, type: 3}
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!222 &1921542596
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1921542593}
m_CullTransparentMesh: 1
--- !u!1 &1922474490 --- !u!1 &1922474490
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
...@@ -48,7 +48,7 @@ namespace MDPro3 ...@@ -48,7 +48,7 @@ namespace MDPro3
//cardDescription //cardDescription
cardName.fontSize = 50; cardName.fontSize = 50;
cardName.GetComponent<RectTransform>().sizeDelta = new Vector2(200, 80); cardName.GetComponent<RectTransform>().sizeDelta = new Vector2(200, 80);
var language = Config.Get("Language", "zh-CN"); var language = Config.Get("CardLanguage", "zh-CN");
if (language == "zh-CN") if (language == "zh-CN")
{ {
var handle = Addressables.LoadAssetAsync<Font>("RenderFontChineseSimplified"); var handle = Addressables.LoadAssetAsync<Font>("RenderFontChineseSimplified");
...@@ -107,13 +107,13 @@ namespace MDPro3 ...@@ -107,13 +107,13 @@ namespace MDPro3
public void RenderName(int code) public void RenderName(int code)
{ {
var data = CardsManager.Get(code); var data = CardsManager.GetRenderCard(code);
if (data.Id == 0) if (data.Id == 0)
return; return;
cardName.GetComponent<RectTransform>().localScale = Vector3.one; cardName.GetComponent<RectTransform>().localScale = Vector3.one;
cardNameTMP.GetComponent<RectTransform>().localScale = Vector3.one; cardNameTMP.GetComponent<RectTransform>().localScale = Vector3.one;
if (Config.Get("Language", "zh-CN") == "en-US" if (Config.Get("CardLanguage", "zh-CN") == "en-US"
|| Config.Get("Language", "zh-CN") == "es-ES") || Config.Get("CardLanguage", "zh-CN") == "es-ES")
{ {
cardName.text = string.Empty; cardName.text = string.Empty;
cardNameTMP.text = data.Name; cardNameTMP.text = data.Name;
...@@ -184,14 +184,14 @@ namespace MDPro3 ...@@ -184,14 +184,14 @@ namespace MDPro3
public void RenderCard(int code, Texture2D art) public void RenderCard(int code, Texture2D art)
{ {
var data = CardsManager.Get(code); Card data = CardsManager.GetRenderCard(code);
if (data.Id == 0) if (data.Id == 0)
return; return;
cardName.GetComponent<RectTransform>().localScale = Vector3.one; cardName.GetComponent<RectTransform>().localScale = Vector3.one;
cardNameTMP.GetComponent<RectTransform>().localScale = Vector3.one; cardNameTMP.GetComponent<RectTransform>().localScale = Vector3.one;
if (Config.Get("Language", "zh-CN") == "en-US" if (Config.Get("CardLanguage", "zh-CN") == "en-US"
|| Config.Get("Language", "zh-CN") == "es-ES") || Config.Get("CardLanguage", "zh-CN") == "es-ES")
{ {
cardName.text = string.Empty; cardName.text = string.Empty;
cardNameTMP.text = data.Name; cardNameTMP.text = data.Name;
...@@ -259,7 +259,7 @@ namespace MDPro3 ...@@ -259,7 +259,7 @@ namespace MDPro3
cardArtPendulum.texture = art; cardArtPendulum.texture = art;
} }
var pendulumDescription = CardDescription.GetCardDescriptionSplit(data.Desc); var pendulumDescription = CardDescription.GetCardDescriptionSplit(data.Desc);
cardDescription.text = StringHelper.GetType(data).Replace(Program.slash, bigSlash) + "\r\n" + TextForRender(pendulumDescription[1]); cardDescription.text = StringHelper.GetType(data, true).Replace(Program.slash, bigSlash) + "\r\n" + TextForRender(pendulumDescription[1]);
cardDescriptionPendulum.text = TextForRender(pendulumDescription[0]); cardDescriptionPendulum.text = TextForRender(pendulumDescription[0]);
lScale.text = data.LScale.ToString(); lScale.text = data.LScale.ToString();
rScale.text = data.RScale.ToString(); rScale.text = data.RScale.ToString();
...@@ -282,7 +282,7 @@ namespace MDPro3 ...@@ -282,7 +282,7 @@ namespace MDPro3
cardArt.texture = art; cardArt.texture = art;
var description = ""; var description = "";
if ((data.Type & (uint)CardType.Monster) > 0) if ((data.Type & (uint)CardType.Monster) > 0)
description = StringHelper.GetType(data).Replace(Program.slash, bigSlash) + "\r\n"; description = StringHelper.GetType(data, true).Replace(Program.slash, bigSlash) + "\r\n";
description += TextForRender(data.Desc); description += TextForRender(data.Desc);
cardDescription.text = description; cardDescription.text = description;
...@@ -320,7 +320,7 @@ namespace MDPro3 ...@@ -320,7 +320,7 @@ namespace MDPro3
var bracketRight = "】"; var bracketRight = "】";
var spaces = " "; var spaces = " ";
spellTypeIcon.GetComponent<RectTransform>().anchoredPosition = new Vector2(-79f, 364); spellTypeIcon.GetComponent<RectTransform>().anchoredPosition = new Vector2(-79f, 364);
switch (Config.Get("Language", "zh-CN")) switch (Config.Get("CardLanguage", "zh-CN"))
{ {
case "en-US": case "en-US":
bracketLeft = "["; bracketLeft = "[";
...@@ -350,7 +350,7 @@ namespace MDPro3 ...@@ -350,7 +350,7 @@ namespace MDPro3
if ((data.Type & (uint)CardType.Spell) > 0) if ((data.Type & (uint)CardType.Spell) > 0)
{ {
cardFrame.sprite = TextureManager.container.cardFrameSpellOF; cardFrame.sprite = TextureManager.container.cardFrameSpellOF;
var type = bracketLeft + InterString.Get("魔法卡") + spaces + bracketRight; var type = bracketLeft + InterString.Get("魔法卡", true) + spaces + bracketRight;
if ((data.Type & (uint)CardType.Field) > 0) if ((data.Type & (uint)CardType.Field) > 0)
spellTypeIcon.sprite = TextureManager.container.typeField; spellTypeIcon.sprite = TextureManager.container.typeField;
else if ((data.Type & (uint)CardType.Equip) > 0) else if ((data.Type & (uint)CardType.Equip) > 0)
...@@ -368,7 +368,7 @@ namespace MDPro3 ...@@ -368,7 +368,7 @@ namespace MDPro3
else else
{ {
cardFrame.sprite = TextureManager.container.cardFrameTrapOF; cardFrame.sprite = TextureManager.container.cardFrameTrapOF;
var type = bracketLeft + InterString.Get("陷阱卡") + spaces + bracketRight; var type = bracketLeft + InterString.Get("陷阱卡", true) + spaces + bracketRight;
if ((data.Type & (uint)CardType.Counter) > 0) if ((data.Type & (uint)CardType.Counter) > 0)
spellTypeIcon.sprite = TextureManager.container.typeCounter; spellTypeIcon.sprite = TextureManager.container.typeCounter;
else if ((data.Type & (uint)CardType.Continuous) > 0) else if ((data.Type & (uint)CardType.Continuous) > 0)
...@@ -490,7 +490,7 @@ namespace MDPro3 ...@@ -490,7 +490,7 @@ namespace MDPro3
{ {
if (string.IsNullOrEmpty(description)) if (string.IsNullOrEmpty(description))
return string.Empty; return string.Empty;
var language = Config.Get("Language", "zh-CN"); var language = Config.Get("CardLanguage", "zh-CN");
if (language == "ja-JP") if (language == "ja-JP")
{ {
......
...@@ -11,7 +11,6 @@ using MDPro3.UI; ...@@ -11,7 +11,6 @@ using MDPro3.UI;
using MDPro3.YGOSharp; using MDPro3.YGOSharp;
using MDPro3.YGOSharp.OCGWrapper.Enums; using MDPro3.YGOSharp.OCGWrapper.Enums;
namespace MDPro3 namespace MDPro3
{ {
public class GPS public class GPS
...@@ -1736,6 +1735,7 @@ namespace MDPro3 ...@@ -1736,6 +1735,7 @@ namespace MDPro3
sequence.Append(offset.DOLocalMove(new Vector3(0, 2, 3), 0.1f).OnStart(() => sequence.Append(offset.DOLocalMove(new Vector3(0, 2, 3), 0.1f).OnStart(() =>
{ {
AudioManager.PlaySE("SE_CARDVIEW_02"); AudioManager.PlaySE("SE_CARDVIEW_02");
Program.I().ocgcore.description.Show(this, null);
})); }));
sequence.Join(turn.DOLocalRotate(Vector3.zero, 0.1f).OnComplete(() => sequence.Join(turn.DOLocalRotate(Vector3.zero, 0.1f).OnComplete(() =>
{ {
......
...@@ -120,40 +120,39 @@ namespace MDPro3.YGOSharp ...@@ -120,40 +120,39 @@ namespace MDPro3.YGOSharp
internal Card(IDataRecord reader) internal Card(IDataRecord reader)
{ {
this.Str = new string[16]; Str = new string[16];
this.Id = (int)reader.GetInt64(0); Id = (int)reader.GetInt64(0);
this.Ot = reader.GetInt32(1); Ot = reader.GetInt32(1);
this.Alias = (int)reader.GetInt64(2); Alias = (int)reader.GetInt64(2);
this.Setcode = reader.GetInt64(3); Setcode = reader.GetInt64(3);
this.Type = (int)reader.GetInt64(4); Type = (int)reader.GetInt64(4);
this.Attack = reader.GetInt32(5); Attack = reader.GetInt32(5);
this.Defense = reader.GetInt32(6); Defense = reader.GetInt32(6);
this.rAttack = this.Attack; rAttack = this.Attack;
this.rDefense = this.Defense; rDefense = this.Defense;
long Level_raw = reader.GetInt64(7); long Level_raw = reader.GetInt64(7);
this.Level = (int)Level_raw & 0xff; Level = (int)Level_raw & 0xff;
this.LScale = (int)((Level_raw >> 0x18) & 0xff); LScale = (int)((Level_raw >> 0x18) & 0xff);
this.RScale = (int)((Level_raw >> 0x10) & 0xff); RScale = (int)((Level_raw >> 0x10) & 0xff);
this.LinkMarker = this.Defense; LinkMarker = this.Defense;
this.Race = reader.GetInt32(8); Race = reader.GetInt32(8);
this.Attribute = reader.GetInt32(9); Attribute = reader.GetInt32(9);
this.Category = reader.GetInt64(10); Category = reader.GetInt64(10);
this.Name = reader.GetString(12); Name = reader.GetString(12);
this.Desc = reader.GetString(13); Desc = reader.GetString(13);
for (int ii = 0; ii < 0x10; ii++) for (int ii = 0; ii < 0x10; ii++)
{ {
this.Str[ii] = reader.GetString(14 + ii); Str[ii] = reader.GetString(14 + ii);
} }
} }
public Card() public Card()
{ {
this.Id = 0; Id = 0;
this.Str = new string[16]; Str = new string[16];
this.Name = CardsManager.nullName; Name = CardsManager.nullName;
this.Desc = CardsManager.nullString; Desc = CardsManager.nullString;
} }
} }
} }
\ No newline at end of file
...@@ -6,7 +6,6 @@ using Mono.Data.Sqlite; ...@@ -6,7 +6,6 @@ using Mono.Data.Sqlite;
using MDPro3.YGOSharp.OCGWrapper.Enums; using MDPro3.YGOSharp.OCGWrapper.Enums;
using System.IO; using System.IO;
using static MDPro3.EditDeck; using static MDPro3.EditDeck;
using System.Text;
using Ionic.Zip; using Ionic.Zip;
namespace MDPro3.YGOSharp namespace MDPro3.YGOSharp
...@@ -14,7 +13,7 @@ namespace MDPro3.YGOSharp ...@@ -14,7 +13,7 @@ namespace MDPro3.YGOSharp
internal static class CardsManager internal static class CardsManager
{ {
public static IDictionary<int, Card> _cards = new Dictionary<int, Card>(); public static IDictionary<int, Card> _cards = new Dictionary<int, Card>();
public static IDictionary<int, Card> _cardsForRender = new Dictionary<int, Card>();
public static string nullName = ""; public static string nullName = "";
public static string nullString = ""; public static string nullString = "";
...@@ -52,9 +51,36 @@ namespace MDPro3.YGOSharp ...@@ -52,9 +51,36 @@ namespace MDPro3.YGOSharp
} }
UpdateSetNames(); UpdateSetNames();
PacksManager.Initialize(); PacksManager.Initialize();
_cardsForRender.Clear();
var cardLanguage = Config.Get("CardLanguage", "zh-CN");
databaseFullPath = Program.localesPath + Program.slash + cardLanguage + "/cards.cdb";
if (!File.Exists(databaseFullPath))
databaseFullPath = Program.localesPath + Program.slash + "zh-CN/cards.cdb";
LoadCDB(databaseFullPath, true);
foreach (var cdb in Directory.GetFiles("Expansions", "*.cdb"))
LoadCDB(cdb, true);
foreach (var zip in ZipHelper.zips)
{
if (zip.Name.ToLower().EndsWith("script.zip"))
continue;
foreach (var file in zip.EntryFileNames)
{
if (file.ToLower().EndsWith(".cdb"))
{
var e = zip[file];
if (!Directory.Exists(Program.tempFolder))
Directory.CreateDirectory(Program.tempFolder);
var tempFile = Path.Combine(Path.GetFullPath(Program.tempFolder), file);
e.Extract(Path.GetFullPath(Program.tempFolder), ExtractExistingFileAction.OverwriteSilently);
LoadCDB(tempFile, true);
File.Delete(tempFile);
}
}
}
} }
internal static void LoadCDB(string databaseFullPath) internal static void LoadCDB(string databaseFullPath, bool render = false)
{ {
using (SqliteConnection connection = new SqliteConnection("Data Source=" + databaseFullPath)) using (SqliteConnection connection = new SqliteConnection("Data Source=" + databaseFullPath))
{ {
...@@ -67,7 +93,7 @@ namespace MDPro3.YGOSharp ...@@ -67,7 +93,7 @@ namespace MDPro3.YGOSharp
{ {
while (reader.Read()) while (reader.Read())
{ {
LoadCard(reader); LoadCard(reader, render);
} }
} }
} }
...@@ -89,7 +115,12 @@ namespace MDPro3.YGOSharp ...@@ -89,7 +115,12 @@ namespace MDPro3.YGOSharp
return _cards[id].Clone(); return _cards[id].Clone();
return null; return null;
} }
internal static Card GetRenderCard(int id)
{
if (_cardsForRender.ContainsKey(id))
return _cardsForRender[id].Clone();
return null;
}
internal static Card GetCardRaw(int id) internal static Card GetCardRaw(int id)
{ {
if (_cards.ContainsKey(id)) if (_cards.ContainsKey(id))
...@@ -120,12 +151,18 @@ namespace MDPro3.YGOSharp ...@@ -120,12 +151,18 @@ namespace MDPro3.YGOSharp
return returnValue; return returnValue;
} }
private static void LoadCard(IDataRecord reader) private static void LoadCard(IDataRecord reader, bool render = false)
{ {
Card card = new Card(reader); Card card = new Card(reader);
if (!_cards.ContainsKey(card.Id)) if (!render)
{
if (!_cards.ContainsKey(card.Id))
_cards.Add(card.Id, card);
}
else
{ {
_cards.Add(card.Id, card); if (!_cardsForRender.ContainsKey(card.Id))
_cardsForRender.Add(card.Id, card);
} }
} }
......
...@@ -8,18 +8,19 @@ namespace MDPro3 ...@@ -8,18 +8,19 @@ namespace MDPro3
public static class InterString public static class InterString
{ {
private static readonly Dictionary<string, string> translations = new Dictionary<string, string>(); private static readonly Dictionary<string, string> translations = new Dictionary<string, string>();
private static string path; private static readonly Dictionary<string, string> translationsForRender = new Dictionary<string, string>();
private static string path;
private static string pathForRender;
public static void Initialize() public static void Initialize()
{ {
string language = Config.Get("Language", "zh-CN"); translations.Clear();
path = Program.localesPath + Program.slash + language + "/translation.conf"; path = Program.localesPath + Program.slash + Config.Get("Language", "zh-CN") + "/translation.conf";
if (!File.Exists(path)) if (!File.Exists(path))
File.Create(path).Close(); File.Create(path).Close();
var txtString = File.ReadAllText(path); var txtString = File.ReadAllText(path);
var lines = txtString.Replace("\r", "").Split('\n'); var lines = txtString.Replace("\r", "").Split('\n');
translations.Clear();
for (var i = 0; i < lines.Length; i++) for (var i = 0; i < lines.Length; i++)
{ {
var mats = Regex.Split(lines[i], "->"); var mats = Regex.Split(lines[i], "->");
...@@ -27,34 +28,49 @@ namespace MDPro3 ...@@ -27,34 +28,49 @@ namespace MDPro3
if (!translations.ContainsKey(mats[0])) if (!translations.ContainsKey(mats[0]))
translations.Add(mats[0], mats[1]); translations.Add(mats[0], mats[1]);
} }
translationsForRender.Clear();
pathForRender = Program.localesPath + Program.slash + Config.Get("CardLanguage", "zh-CN") + "/translation.conf";
if (!File.Exists(pathForRender))
File.Create(pathForRender).Close();
txtString = File.ReadAllText(pathForRender);
lines = txtString.Replace("\r", "").Split('\n');
for (var i = 0; i < lines.Length; i++)
{
var mats = Regex.Split(lines[i], "->");
if (mats.Length == 2)
if (!translationsForRender.ContainsKey(mats[0]))
translationsForRender.Add(mats[0], mats[1]);
}
} }
public static string Get(string original) public static string Get(string original, bool render = false)
{ {
var returnValue = original; var returnValue = original;
if (translations.TryGetValue(original, out returnValue)) var targetTranslations = render ? translationsForRender : translations;
if (targetTranslations.TryGetValue(original, out returnValue))
return returnValue.Replace("@n", "\r\n").Replace("@ui", ""); return returnValue.Replace("@n", "\r\n").Replace("@ui", "");
if (original != "") if (original != "")
{ {
try try
{ {
File.AppendAllText(path, original + "->" + original + "\r\n"); File.AppendAllText(render ? pathForRender : path, original + "->" + original + "\r\n");
} }
catch catch
{ {
Program.noAccess = true; Program.noAccess = true;
} }
translations.Add(original, original); targetTranslations.Add(original, original);
return original.Replace("@n", "\r\n").Replace("@ui", ""); return original.Replace("@n", "\r\n").Replace("@ui", "");
} }
return original; return original;
} }
public static string Get(string original, string replace) public static string Get(string original, string replace, bool render = false)
{ {
return Get(original).Replace("[?]", replace); return Get(original, render).Replace("[?]", replace);
} }
public static string GetOriginal(string value) public static string GetOriginal(string value)
{ {
...@@ -69,6 +85,5 @@ namespace MDPro3 ...@@ -69,6 +85,5 @@ namespace MDPro3
} }
return returnValue; return returnValue;
} }
} }
} }
...@@ -11,7 +11,7 @@ namespace MDPro3 ...@@ -11,7 +11,7 @@ namespace MDPro3
public static class StringHelper public static class StringHelper
{ {
public static List<HashedString> hashedStrings = new List<HashedString>(); public static List<HashedString> hashedStrings = new List<HashedString>();
public static List<HashedString> hashedStringsForRender = new List<HashedString>();
public static List<HashedString> setNames = new List<HashedString>(); public static List<HashedString> setNames = new List<HashedString>();
public static int StringToInt(string str) public static int StringToInt(string str)
...@@ -53,10 +53,31 @@ namespace MDPro3 ...@@ -53,10 +53,31 @@ namespace MDPro3
} }
} }
} }
InitializeContent(text);
language = Config.Get("CardLanguage", "zh-CN");
path = Program.localesPath + Program.slash + language + "/strings.conf";
string textForRender = File.ReadAllText(path);
foreach (var conf in Directory.GetFiles("Expansions", "*.conf"))
textForRender += "\r\n" + File.ReadAllText(conf);
foreach (var zip in ZipHelper.zips)
{
if (zip.Name.ToLower().EndsWith("script.zip"))
continue;
foreach (var file in zip.EntryFileNames)
{
if (file.ToLower().EndsWith(".conf"))
{
var ms = new MemoryStream();
var e = zip[file];
e.Extract(ms);
textForRender += "\r\n" + Encoding.UTF8.GetString(ms.ToArray());
}
}
}
InitializeContent(text, textForRender);
} }
public static void InitializeContent(string text) public static void InitializeContent(string text, string textForRender)
{ {
var st = text.Replace("\r", ""); var st = text.Replace("\r", "");
var lines = st.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); var lines = st.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
...@@ -89,12 +110,40 @@ namespace MDPro3 ...@@ -89,12 +110,40 @@ namespace MDPro3
} }
} }
} }
hashedStringsForRender.Clear();
st = textForRender.Replace("\r", "");
lines = st.Split(new[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
if (line.Length > 1 && line.Substring(0, 1) == "!")
{
var mats = line.Substring(1, line.Length - 1).Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);
if (mats.Length > 2)
{
var a = new HashedString();
a.region = mats[0];
try
{
a.hashCode = StringToInt(mats[1]);
}
catch (Exception e)
{
MessageManager.Cast(e.ToString());
}
a.content = "";
for (var i = 2; i < mats.Length; i++)
a.content += mats[i] + " ";
a.content = a.content.Substring(0, a.content.Length - 1);
if (Get(a.region, a.hashCode, true) == "")
hashedStringsForRender.Add(a);
}
}
} }
public static string Get(string region, int hashCode) public static string Get(string region, int hashCode, bool render = false)
{ {
var re = ""; var re = "";
foreach (var s in hashedStrings) foreach (var s in render ? hashedStringsForRender : hashedStrings)
if (s.region == region && s.hashCode == hashCode) if (s.region == region && s.hashCode == hashCode)
{ {
re = s.content; re = s.content;
...@@ -103,10 +152,10 @@ namespace MDPro3 ...@@ -103,10 +152,10 @@ namespace MDPro3
return re; return re;
} }
internal static string GetUnsafe(int hashCode) internal static string GetUnsafe(int hashCode, bool render = false)
{ {
var re = ""; var re = "";
foreach (var s in hashedStrings) foreach (var s in render ? hashedStringsForRender : hashedStrings)
if (s.region == "system" && s.hashCode == hashCode) if (s.region == "system" && s.hashCode == hashCode)
{ {
re = s.content; re = s.content;
...@@ -115,7 +164,6 @@ namespace MDPro3 ...@@ -115,7 +164,6 @@ namespace MDPro3
return re; return re;
} }
internal static string Get(int description) internal static string Get(int description)
{ {
var a = ""; var a = "";
...@@ -185,7 +233,7 @@ namespace MDPro3 ...@@ -185,7 +233,7 @@ namespace MDPro3
} }
return r; return r;
} }
public static string Race(long race) public static string Race(long race, bool render = false)
{ {
var r = ""; var r = "";
var passFirst = false; var passFirst = false;
...@@ -193,7 +241,7 @@ namespace MDPro3 ...@@ -193,7 +241,7 @@ namespace MDPro3
if ((race & (1 << i)) > 0) if ((race & (1 << i)) > 0)
{ {
if (passFirst) r += Program.slash; if (passFirst) r += Program.slash;
r += GetUnsafe(1020 + i); r += GetUnsafe(1020 + i, render);
passFirst = true; passFirst = true;
} }
return r; return r;
...@@ -254,7 +302,7 @@ namespace MDPro3 ...@@ -254,7 +302,7 @@ namespace MDPro3
} }
public static string MainType(long a) public static string MainType(long a, bool render = false)
{ {
var r = ""; var r = "";
var passFirst = false; var passFirst = false;
...@@ -262,13 +310,13 @@ namespace MDPro3 ...@@ -262,13 +310,13 @@ namespace MDPro3
if ((a & (1 << i)) > 0) if ((a & (1 << i)) > 0)
{ {
if (passFirst) r += Program.slash; if (passFirst) r += Program.slash;
r += GetUnsafe(1050 + i); r += GetUnsafe(1050 + i, render);
passFirst = true; passFirst = true;
} }
return r; return r;
} }
public static string SecondType(long a) public static string SecondType(long a, bool render = false)
{ {
var start = ""; var start = "";
var end = ""; var end = "";
...@@ -277,14 +325,14 @@ namespace MDPro3 ...@@ -277,14 +325,14 @@ namespace MDPro3
for (var i = 4; i < 27; i++) for (var i = 4; i < 27; i++)
if (((a & 0x68020C0) & (1 << i)) > 0) if (((a & 0x68020C0) & (1 << i)) > 0)
{ {
start += Program.slash + GetUnsafe(1050 + i); start += Program.slash + GetUnsafe(1050 + i, render);
break; break;
} }
a -= a & 0x68020C0; a -= a & 0x68020C0;
} }
if ((a & (long)CardType.Pendulum) > 0) if ((a & (long)CardType.Pendulum) > 0)
{ {
start += Program.slash + GetUnsafe(1074); start += Program.slash + GetUnsafe(1074, render);
a -= (long)CardType.Pendulum; a -= (long)CardType.Pendulum;
} }
if ((a & 0x30) > 0) if ((a & 0x30) > 0)
...@@ -292,29 +340,29 @@ namespace MDPro3 ...@@ -292,29 +340,29 @@ namespace MDPro3
for (var i = 4; i < 6; i++) for (var i = 4; i < 6; i++)
if ((a & (1 << i)) > 0) if ((a & (1 << i)) > 0)
{ {
end += Program.slash + GetUnsafe(1050 + i); end += Program.slash + GetUnsafe(1050 + i, render);
break; break;
} }
a -= a & 0x30; a -= a & 0x30;
} }
for (var i = 4; i < 27; i++) for (var i = 4; i < 27; i++)
if ((a & (1 << i)) > 0) if ((a & (1 << i)) > 0)
start += Program.slash + GetUnsafe(1050 + i); start += Program.slash + GetUnsafe(1050 + i, render);
var returnValue = start + end; var returnValue = start + end;
if (returnValue == "") if (returnValue == "")
returnValue = GetUnsafe(1054); returnValue = GetUnsafe(1054, render);
else else
returnValue = returnValue.Substring(1, returnValue.Length - 1); returnValue = returnValue.Substring(1, returnValue.Length - 1);
return returnValue; return returnValue;
} }
public static string GetType(Card data) public static string GetType(Card data, bool render = false)
{ {
var re = ""; var re = "";
if (data.Id == 0) if (data.Id == 0)
return re; return re;
var origin = CardsManager.Get(data.Id); var origin = render ? CardsManager.GetRenderCard(data.Id) : CardsManager.Get(data.Id);
try try
{ {
if (CardDescription.WhetherCardIsMonster(data)) if (CardDescription.WhetherCardIsMonster(data))
...@@ -322,7 +370,7 @@ namespace MDPro3 ...@@ -322,7 +370,7 @@ namespace MDPro3
if (data.Race != origin.Race) if (data.Race != origin.Race)
re = "¡¾" + "<color=#FD3E08>" + InterString.Get("[?]×å", Race(data.Race)) + "</color>" + Program.slash + SecondType(data.Type) + "¡¿"; re = "¡¾" + "<color=#FD3E08>" + InterString.Get("[?]×å", Race(data.Race)) + "</color>" + Program.slash + SecondType(data.Type) + "¡¿";
else else
re = "" + InterString.Get("[?]", Race(data.Race)) + Program.slash + SecondType(data.Type) + ""; re = "¡¾" + InterString.Get("[?]×å", Race(data.Race, render), render) + Program.slash + SecondType(data.Type, render) + "¡¿";
} }
else else
re = "¡¾" + MainType(data.Type) + "¡¿"; re = "¡¾" + MainType(data.Type) + "¡¿";
...@@ -331,6 +379,7 @@ namespace MDPro3 ...@@ -331,6 +379,7 @@ namespace MDPro3
{ Debug.LogError(e); } { Debug.LogError(e); }
return re; return re;
} }
public static string GetSetName(long Setcode, bool raw = false) public static string GetSetName(long Setcode, bool raw = false)
{ {
var setcodes = new int[4]; var setcodes = new int[4];
......
...@@ -124,6 +124,20 @@ namespace MDPro3 ...@@ -124,6 +124,20 @@ namespace MDPro3
manager.gameObject.SetActive(true); manager.gameObject.SetActive(true);
} }
public IEnumerator LoadDummyCardLoadingPic(ElementObjectManager manager, int code, bool active = false)
{
if (active)
manager.gameObject.SetActive(false);
var ie = LoadCardAsync(code, true);
while (ie.MoveNext())
yield return null;
manager.GetElement<Renderer>("DummyCardModel_side").material = cardMatSide;
manager.GetElement<Renderer>("DummyCardModel_front").material.SetTexture("_LoadingTex", ie.Current);
manager.GetElement<Renderer>("DummyCardModel_front").material.SetFloat("_LoadingBlend", 1);
if (active)
manager.gameObject.SetActive(true);
}
public static IEnumerator<Texture2D> LoadFromFileAsync(string path) public static IEnumerator<Texture2D> LoadFromFileAsync(string path)
{ {
if (!File.Exists(path)) if (!File.Exists(path))
......
...@@ -19,6 +19,8 @@ using MDPro3.YGOSharp; ...@@ -19,6 +19,8 @@ using MDPro3.YGOSharp;
using MDPro3.YGOSharp.OCGWrapper.Enums; using MDPro3.YGOSharp.OCGWrapper.Enums;
using static YgomGame.Bg.BgEffectSettingInner; using static YgomGame.Bg.BgEffectSettingInner;
using MDPro3.UI; using MDPro3.UI;
using YgomGame.Duel;
using UnityEngine.AI;
namespace MDPro3 namespace MDPro3
{ {
...@@ -1223,7 +1225,7 @@ namespace MDPro3 ...@@ -1223,7 +1225,7 @@ namespace MDPro3
//Program.I().room.duelEnded: For match End; //Program.I().room.duelEnded: For match End;
bool needDamageResponseInstant; bool needDamageResponseInstant;
public Action endingAction;
public void CoreReset() public void CoreReset()
{ {
if (cards.Count > 0) if (cards.Count > 0)
...@@ -1252,17 +1254,12 @@ namespace MDPro3 ...@@ -1252,17 +1254,12 @@ namespace MDPro3
surrended = false; surrended = false;
deckReserved = false; deckReserved = false;
cantCheckGrave = false; cantCheckGrave = false;
cookie_matchKill = 0;
needDamageResponseInstant = false; needDamageResponseInstant = false;
if (condition == Condition.Replay) if (condition == Condition.Replay)
{
replayButtons.SetActive(true); replayButtons.SetActive(true);
//buttonForceSaveReplay.SetActive(false);
}
else else
{
//buttonForceSaveReplay.SetActive(true);
replayButtons.SetActive(false); replayButtons.SetActive(false);
}
buttonStop.SetActive(true); buttonStop.SetActive(true);
buttonPlay.SetActive(false); buttonPlay.SetActive(false);
buttonAcc.SetActive(true); buttonAcc.SetActive(true);
...@@ -1292,6 +1289,7 @@ namespace MDPro3 ...@@ -1292,6 +1289,7 @@ namespace MDPro3
opSpSummonCount = 0; opSpSummonCount = 0;
Program.I().room.duelEnded = false; Program.I().room.duelEnded = false;
Program.I().room.joinWithReconnect = false; Program.I().room.joinWithReconnect = false;
endingAction = null;
} }
public void AddPackage(Package p) public void AddPackage(Package p)
...@@ -1631,6 +1629,7 @@ namespace MDPro3 ...@@ -1631,6 +1629,7 @@ namespace MDPro3
duelEnded = true; duelEnded = true;
description.Hide(); description.Hide();
ClearResponse(); ClearResponse();
if (currentPopup != null) if (currentPopup != null)
{ {
currentPopup.whenQuitDo = null; currentPopup.whenQuitDo = null;
...@@ -1642,6 +1641,7 @@ namespace MDPro3 ...@@ -1642,6 +1641,7 @@ namespace MDPro3
keys.Insert(0, currentMessageIndex); keys.Insert(0, currentMessageIndex);
AudioManager.StopBGM(); AudioManager.StopBGM();
GameObject duelText; GameObject duelText;
string endingReason = string.Empty;
if (player == 2) if (player == 2)
{ {
result = DuelResult.Draw; result = DuelResult.Draw;
...@@ -1654,23 +1654,13 @@ namespace MDPro3 ...@@ -1654,23 +1654,13 @@ namespace MDPro3
if (cookie_matchKill > 0) if (cookie_matchKill > 0)
{ {
winReason = CardsManager.Get(cookie_matchKill).Name; winReason = CardsManager.Get(cookie_matchKill).Name;
PrintDuelLog(InterString.Get("比赛胜利,卡片:[?]", winReason)); endingReason = InterString.Get("比赛胜利,卡片:[?]", winReason);
} }
else else
{ {
winReason = StringHelper.Get("victory", winType); winReason = StringHelper.Get("victory", winType);
PrintDuelLog(InterString.Get("游戏胜利,原因:[?]", winReason)); endingReason = InterString.Get("游戏胜利,原因:[?]", winReason);
} }
bgPhase1 = 4;
var seLabel = "SE_FIELD_MAT" + field0Manager.name.Substring(4, 3) + "_PHASE4_R";
field1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd, seLabel);
grave1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (stand1Manager != null)
stand1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (mate0 != null)
mate0.Play(Mate.MateAction.Victory);
if (mate1 != null)
mate1.Play(Mate.MateAction.Defeat);
} }
else else
{ {
...@@ -1679,33 +1669,14 @@ namespace MDPro3 ...@@ -1679,33 +1669,14 @@ namespace MDPro3
if (cookie_matchKill > 0) if (cookie_matchKill > 0)
{ {
winReason = CardsManager.Get(cookie_matchKill).Name; winReason = CardsManager.Get(cookie_matchKill).Name;
PrintDuelLog(InterString.Get("比赛败北,卡片:[?]", winReason)); endingReason = InterString.Get("比赛败北,卡片:[?]", winReason);
} }
else else
{ {
winReason = StringHelper.Get("victory", winType); winReason = StringHelper.Get("victory", winType);
PrintDuelLog(InterString.Get("游戏败北,原因:[?]", winReason)); endingReason = InterString.Get("游戏败北,原因:[?]", winReason);
} }
bgPhase0 = 4; }
var seLabel = "SE_FIELD_MAT" + field0Manager.name.Substring(4, 3) + "_PHASE4_P";
field0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd, seLabel);
grave0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (stand0Manager != null)
stand0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (mate0 != null)
mate0.Play(Mate.MateAction.Defeat);
if (mate1 != null)
mate1.Play(Mate.MateAction.Victory);
}
var mono = duelText.AddComponent<DoWhenPlayableDirectorStop>();
mono.action = () =>
{
if (condition != Condition.Replay)
{
ShowSaveReplay();
Destroy(mono.gameObject);
}
};
if (timerHandler != null) if (timerHandler != null)
timerHandler.DuelEnd(); timerHandler.DuelEnd();
if (playableGuide0 != null && playableGuide1 != null) if (playableGuide0 != null && playableGuide1 != null)
...@@ -1715,6 +1686,107 @@ namespace MDPro3 ...@@ -1715,6 +1686,107 @@ namespace MDPro3
} }
//防止对方在更换副卡组时拔螺丝 //防止对方在更换副卡组时拔螺丝
UIManager.UIBlackOut(transitionTime); UIManager.UIBlackOut(transitionTime);
duelText.SetActive(false);
endingAction = () =>
{
duelText.SetActive(true);
var mono = duelText.AddComponent<DoWhenPlayableDirectorStop>();
mono.action = () =>
{
PrintDuelLog(endingReason);
if (condition != Condition.Replay)
{
ShowSaveReplay();
Destroy(mono.gameObject);
}
};
if(result == DuelResult.Win)
{
bgPhase1 = 4;
var seLabel = "SE_FIELD_MAT" + field0Manager.name.Substring(4, 3) + "_PHASE4_R";
field1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase1ToPhase2);
field1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase2ToPhase3);
field1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase3ToPhase4);
field1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd, seLabel);
if (stand1Manager != null)
stand1Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (mate0 != null)
mate0.Play(Mate.MateAction.Victory);
if (mate1 != null)
mate1.Play(Mate.MateAction.Defeat);
}
else if(result == DuelResult.Lose)
{
bgPhase0 = 4;
var seLabel = "SE_FIELD_MAT" + field0Manager.name.Substring(4, 3) + "_PHASE4_P";
field0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase1ToPhase2);
field0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase2ToPhase3);
field0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase3ToPhase4);
field0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd, seLabel);
if (stand0Manager != null)
stand0Manager.PlayAnimatorTrigger(TriggerLabelDefine.DamagePhase4ToEnd);
if (mate0 != null)
mate0.Play(Mate.MateAction.Defeat);
if (mate1 != null)
mate1.Play(Mate.MateAction.Victory);
}
};
if (cookie_matchKill > 0)
{
PlayCommonSpecialWin(new int[] { cookie_matchKill });
}
else if(winType >= 0x10)
{
if(winType == 0x10)//被封印的艾克佐迪亚
{
ElementObjectManager mner = PlaySpecialWin("SummonSpecialWin4027");
StartCoroutine(Program.I().texture_.LoadDummyCard(mner.GetElement<ElementObjectManager>("DummyCard"), 33396948, true));
StartCoroutine(Program.I().texture_.LoadDummyCard(mner.GetElement<ElementObjectManager>("DummyCard2"), 7902349, true));
StartCoroutine(Program.I().texture_.LoadDummyCard(mner.GetElement<ElementObjectManager>("DummyCard3"), 70903634, true));
StartCoroutine(Program.I().texture_.LoadDummyCard(mner.GetElement<ElementObjectManager>("DummyCard4"), 44519536, true));
StartCoroutine(Program.I().texture_.LoadDummyCard(mner.GetElement<ElementObjectManager>("DummyCard5"), 8124921, true));
}
else if( winType == 0x11)//终焉的倒计时
PlayCommonSpecialWin(new int[] { 95308449 });
else if (winType == 0x12)//毒蛇神 维诺米纳迦
PlayCommonSpecialWin(new int[] { 8062132 });
else if (winType == 0x13)//光之创造神 哈拉克提
PlayCommonSpecialWin(new int[] { 10000040 });
else if (winType == 0x14)//究极封印神 艾克佐迪奥斯
PlayCommonSpecialWin(new int[] { 13893596 });
else if (winType == 0x15)//通灵盘
PlaySpecialWin("SummonSpecialWin14585");
else if (winType == 0x16)//最终一战!
PlayCommonSpecialWin(new int[] { 28566710 });
else if (winType == 0x17)//No.88 机关傀儡-命运狮子
PlayCommonSpecialWin(new int[] { 48995978 });
else if (winType == 0x18)//混沌No.88 机关傀儡-灾厄狮子
PlayCommonSpecialWin(new int[] { 6165656 });
else if (winType == 0x19)//头奖壶7
PlayCommonSpecialWin(new int[] { 81171949, 81171949, 81171949 });
else if (winType == 0x1A)//魂之接力
PlayCommonSpecialWin(new int[] { 42776960 });
else if (winType == 0x1B)//鬼计惰天使
PlaySpecialWin("SummonSpecialWin11422");
else if (winType == 0x1C)//幻煌龙的天涡
PlayCommonSpecialWin(new int[] { 97795930 });
else if (winType == 0x1D)//方程式运动员胜利团队
PlayCommonSpecialWin(new int[] { 69553552 });
else if (winType == 0x1E)//飞行象
PlayCommonSpecialWin(new int[] { 66765023 });
else if (winType == 0x1F)//守护神 艾克佐迪亚
PlayCommonSpecialWin(new int[] { 5008836 });
else if (winType == 0x20)//真艾克佐迪亚
PlayCommonSpecialWin(new int[] { 37984331 });
else if (winType == 0x21)//混沌虚数No.1000 梦幻虚光神 原数天灵·原数天地
PlayCommonSpecialWin(new int[] { 15862758 });
else if (winType == 0x22)//席取-六双丸
PlaySpecialWin("SummonSpecialWin17158");
}
else
endingAction.Invoke();
break; break;
case GameMessage.Start: case GameMessage.Start:
CoreReset(); CoreReset();
...@@ -1740,7 +1812,6 @@ namespace MDPro3 ...@@ -1740,7 +1812,6 @@ namespace MDPro3
player0Name.text = name_0_tag; player0Name.text = name_0_tag;
} }
SetFace(); SetFace();
cookie_matchKill = 0;
GCS_CreateBundle(r.ReadInt16(), LocalPlayer(0), CardLocation.Deck); GCS_CreateBundle(r.ReadInt16(), LocalPlayer(0), CardLocation.Deck);
GCS_CreateBundle(r.ReadInt16(), LocalPlayer(0), CardLocation.Extra); GCS_CreateBundle(r.ReadInt16(), LocalPlayer(0), CardLocation.Extra);
GCS_CreateBundle(r.ReadInt16(), LocalPlayer(1), CardLocation.Deck); GCS_CreateBundle(r.ReadInt16(), LocalPlayer(1), CardLocation.Deck);
...@@ -1912,7 +1983,7 @@ namespace MDPro3 ...@@ -1912,7 +1983,7 @@ namespace MDPro3
opExtra.gameObject.SetActive(true); opExtra.gameObject.SetActive(true);
cg.alpha = 0; cg.alpha = 0;
cg.interactable = false; cg.interactable = false;
mono = myDeck.gameObject.AddComponent<DoWhenPlayableDirectorStop>(); var mono = myDeck.gameObject.AddComponent<DoWhenPlayableDirectorStop>();
mono.action = () => mono.action = () =>
{ {
cg.alpha = 1; cg.alpha = 1;
...@@ -2329,8 +2400,9 @@ namespace MDPro3 ...@@ -2329,8 +2400,9 @@ namespace MDPro3
card.negated = true; card.negated = true;
card.AnimationNegate(); card.AnimationNegate();
Sleep(100); Sleep(100);
messagePass = true;
return;
} }
if (condition == Condition.Duel if (condition == Condition.Duel
&& Config.Get("DuelEffect", "1") == "0") && Config.Get("DuelEffect", "1") == "0")
needPlay = false; needPlay = false;
...@@ -2897,6 +2969,7 @@ namespace MDPro3 ...@@ -2897,6 +2969,7 @@ namespace MDPro3
Sequence quence = DOTween.Sequence(); Sequence quence = DOTween.Sequence();
if (attackCard.GetData().Attack < 2000) if (attackCard.GetData().Attack < 2000)
{ {
faceAngle.z = faceAngle.y >= 0 && faceAngle.y < 180 ? -20f : 20f;
quence.Append(attackTransform.DOMove(attackPosition + new Vector3(0f, 10f, 0f) - v * 0.3f, 0.3f).SetEase(Ease.InOutCubic).OnComplete(() => quence.Append(attackTransform.DOMove(attackPosition + new Vector3(0f, 10f, 0f) - v * 0.3f, 0.3f).SetEase(Ease.InOutCubic).OnComplete(() =>
{ {
tailObj.SetActive(true); tailObj.SetActive(true);
...@@ -2905,6 +2978,8 @@ namespace MDPro3 ...@@ -2905,6 +2978,8 @@ namespace MDPro3
})); }));
quence.Join(attackTransform.DORotate(faceAngle, 0.3f).SetEase(Ease.InOutCubic)); quence.Join(attackTransform.DORotate(faceAngle, 0.3f).SetEase(Ease.InOutCubic));
quence.Append(attackTransform.DOMove(attackPosition + (attackedPosition - attackPosition) * 0.8f + new Vector3(0f, 0f, 0f), 0.1f).SetEase(Ease.InSine)); quence.Append(attackTransform.DOMove(attackPosition + (attackedPosition - attackPosition) * 0.8f + new Vector3(0f, 0f, 0f), 0.1f).SetEase(Ease.InSine));
faceAngle.z = 0;
quence.Join(attackTransform.DORotate(faceAngle, 0.1f).SetEase(Ease.InSine));
quence.Join(Program.I().camera_.cameraMain.transform.DOMove(new Vector3(0, 95, -37 + directAttack * 5), 0.1f)); quence.Join(Program.I().camera_.cameraMain.transform.DOMove(new Vector3(0, 95, -37 + directAttack * 5), 0.1f));
quence.AppendCallback(() => quence.AppendCallback(() =>
{ {
...@@ -2927,6 +3002,7 @@ namespace MDPro3 ...@@ -2927,6 +3002,7 @@ namespace MDPro3
} }
else else
{ {
faceAngle.z = faceAngle.y >= 0 && faceAngle.y < 180 ? -30f : 30f;
quence.Append(attackTransform.DOMove(attackPosition + new Vector3(0f, 10f, 0f) - v * 0.4f, 0.5f).SetEase(Ease.InOutCubic)); quence.Append(attackTransform.DOMove(attackPosition + new Vector3(0f, 10f, 0f) - v * 0.4f, 0.5f).SetEase(Ease.InOutCubic));
quence.Join(attackTransform.DORotate(faceAngle + new Vector3(45f, 0f, 0f), 0.5f).SetEase(Ease.InOutCubic)); quence.Join(attackTransform.DORotate(faceAngle + new Vector3(45f, 0f, 0f), 0.5f).SetEase(Ease.InOutCubic));
quence.InsertCallback(0.4f, () => quence.InsertCallback(0.4f, () =>
...@@ -2937,6 +3013,7 @@ namespace MDPro3 ...@@ -2937,6 +3013,7 @@ namespace MDPro3
}); });
quence.Append(attackTransform.DOMove(attackPosition + (attackedPosition - attackPosition) * 0.8f + new Vector3(0f, 0f, 0f), 0.15f).SetEase(Ease.InSine)); quence.Append(attackTransform.DOMove(attackPosition + (attackedPosition - attackPosition) * 0.8f + new Vector3(0f, 0f, 0f), 0.15f).SetEase(Ease.InSine));
faceAngle.z = 0;
quence.Join(attackTransform.DORotate(faceAngle, 0.15f)); quence.Join(attackTransform.DORotate(faceAngle, 0.15f));
quence.Join(Program.I().camera_.cameraMain.transform.DOMove(new Vector3(0, 95, -37 + directAttack * 5), 0.15f)); quence.Join(Program.I().camera_.cameraMain.transform.DOMove(new Vector3(0, 95, -37 + directAttack * 5), 0.15f));
quence.AppendCallback(() => quence.AppendCallback(() =>
...@@ -3500,7 +3577,6 @@ namespace MDPro3 ...@@ -3500,7 +3577,6 @@ namespace MDPro3
if (card != null) if (card != null)
{ {
card.SetCode(code); card.SetCode(code);
description.Show(card, null);
card.AnimationConfirm(i); card.AnimationConfirm(i);
} }
} }
...@@ -4755,6 +4831,68 @@ namespace MDPro3 ...@@ -4755,6 +4831,68 @@ namespace MDPro3
ES_selectHint = string.Empty; ES_selectHint = string.Empty;
} }
void PlayCommonSpecialWin(int[] code)
{
var count = code.Length;
var go = ABLoader.LoadFromFolder("Timeline/SpecialWin/SpecialWinCommonCard0" + count);
ElementObjectManager mner = null;
for (int i = 0; i < go.transform.childCount; i++)
{
mner = go.transform.GetChild(i).GetComponent<ElementObjectManager>();
if (mner == null)
Destroy(go.transform.GetChild(i).gameObject);
}
foreach (var child in mner.transform.GetComponentsInChildren<Transform>(true))
if (child.name == "White")
{
var newWhite = Instantiate(child.gameObject);
newWhite.transform.SetParent(child.transform, false);
newWhite.transform.localScale = Vector3.one;
newWhite.GetComponent<SpriteRenderer>().color = Color.clear;
}
StartCoroutine(Program.I().texture_.LoadDummyCardLoadingPic(mner.GetElement<ElementObjectManager>("DummyCard01"), code[0], true));
mner.GetElement<ElementObjectManager>("DummyCard01").GetElement<Renderer>("DummyCardModel_front").material.renderQueue = 4000;
if(count > 1)
{
StartCoroutine(Program.I().texture_.LoadDummyCardLoadingPic(mner.GetElement<ElementObjectManager>("DummyCard02"), code[1], true));
mner.GetElement<ElementObjectManager>("DummyCard02").GetElement<Renderer>("DummyCardModel_front").material.renderQueue = 4000;
}
if (count > 2)
{
StartCoroutine(Program.I().texture_.LoadDummyCardLoadingPic(mner.GetElement<ElementObjectManager>("DummyCard03"), code[2], true));
mner.GetElement<ElementObjectManager>("DummyCard03").GetElement<Renderer>("DummyCardModel_front").material.renderQueue = 4000;
}
if (count > 3)
{
StartCoroutine(Program.I().texture_.LoadDummyCardLoadingPic(mner.GetElement<ElementObjectManager>("DummyCard04"), code[3], true));
mner.GetElement<ElementObjectManager>("DummyCard04").GetElement<Renderer>("DummyCardModel_front").material.renderQueue = 4000;
}
if (count > 4)
{
StartCoroutine(Program.I().texture_.LoadDummyCardLoadingPic(mner.GetElement<ElementObjectManager>("DummyCard05"), code[4], true));
mner.GetElement<ElementObjectManager>("DummyCard05").GetElement<Renderer>("DummyCardModel_front").material.renderQueue = 4000;
}
mner.GetComponent<PlayableDirector>().Play();
var mono = mner.gameObject.AddComponent<DoWhenPlayableDirectorStop>();
mono.action = () =>
{
Destroy(go);
};
}
ElementObjectManager PlaySpecialWin(string path)
{
var go = ABLoader.LoadFromFolder("Timeline/SpecialWin/" + path);
ElementObjectManager manager = null;
for (int i = 0; i < go.transform.childCount; i++)
{
manager = go.transform.GetChild(i).GetComponent<ElementObjectManager>();
if (manager == null)
Destroy(go.transform.GetChild(i).gameObject);
}
var mono = manager.gameObject.AddComponent<DoWhenPlayableDirectorStop>();
mono.action = () => { Destroy(go); };
return manager;
}
#endregion #endregion
#region PracticalizeTools #region PracticalizeTools
......
...@@ -48,6 +48,8 @@ namespace MDPro3 ...@@ -48,6 +48,8 @@ namespace MDPro3
public Text autoRPSValue; public Text autoRPSValue;
public Slider uiScale; public Slider uiScale;
public Text uiScaleValue; public Text uiScaleValue;
public Button cardLanguage;
public Text cardLanguageValue;
public Button language; public Button language;
public Text languageValue; public Text languageValue;
[Header("Duel")] [Header("Duel")]
...@@ -163,6 +165,7 @@ namespace MDPro3 ...@@ -163,6 +165,7 @@ namespace MDPro3
showFPS.onClick.AddListener(OnShowFPSClicked); showFPS.onClick.AddListener(OnShowFPSClicked);
screen.onClick.AddListener(OnScreenModeChange); screen.onClick.AddListener(OnScreenModeChange);
resolution.onClick.AddListener(OnResolutionChange); resolution.onClick.AddListener(OnResolutionChange);
cardLanguage.onClick.AddListener(OnCardLanguageChange);
language.onClick.AddListener(OnLanguageChange); language.onClick.AddListener(OnLanguageChange);
confirm.onClick.AddListener(OnConfirmClicked); confirm.onClick.AddListener(OnConfirmClicked);
autoRPS.onClick.AddListener(OnAutoRPS); autoRPS.onClick.AddListener(OnAutoRPS);
...@@ -230,6 +233,7 @@ namespace MDPro3 ...@@ -230,6 +233,7 @@ namespace MDPro3
InitializeScreenMode(); InitializeScreenMode();
InitializeResolution(); InitializeResolution();
InitializeConfirm(); InitializeConfirm();
InitializeCardLanguage();
InitializeLanguage(); InitializeLanguage();
InitializeSwitches(); InitializeSwitches();
} }
...@@ -278,6 +282,7 @@ namespace MDPro3 ...@@ -278,6 +282,7 @@ namespace MDPro3
Config.Set("ShowFPS", SaveBool(showFPSValue.text)); Config.Set("ShowFPS", SaveBool(showFPSValue.text));
Config.Set("ScreenMode", SaveScreenMode(screenValue.text)); Config.Set("ScreenMode", SaveScreenMode(screenValue.text));
Config.Set("Resolution", resolutionValue.text); Config.Set("Resolution", resolutionValue.text);
Config.Set("CardLanguage", InterString.GetOriginal(cardLanguageValue.text));
Config.Set("Language", InterString.GetOriginal(languageValue.text)); Config.Set("Language", InterString.GetOriginal(languageValue.text));
Config.Set("Confirm", SaveBool(confirmValue.text)); Config.Set("Confirm", SaveBool(confirmValue.text));
...@@ -660,6 +665,36 @@ namespace MDPro3 ...@@ -660,6 +665,36 @@ namespace MDPro3
Screen.SetResolution(int.Parse(Regex.Split(selected, " x ")[0]), int.Parse(Regex.Split(selected, " x ")[1]), Screen.fullScreen); Screen.SetResolution(int.Parse(Regex.Split(selected, " x ")[0]), int.Parse(Regex.Split(selected, " x ")[1]), Screen.fullScreen);
resolutionValue.text = selected; resolutionValue.text = selected;
} }
public void InitializeCardLanguage()
{
string lan = Config.Get("CardLanguage", "zh-CN");
cardLanguageValue.text = InterString.Get(lan);
}
public void OnCardLanguageChange()
{
if (Program.I().ocgcore.isShowed)
{
MessageManager.Cast(InterString.Get("决斗中不能更改此选项。"));
return;
}
List<string> selections = new List<string>
{
InterString.Get("卡图语言")
};
DirectoryInfo[] infos = new DirectoryInfo(Program.localesPath).GetDirectories();
foreach (DirectoryInfo info in infos)
selections.Add(InterString.Get(info.Name));
UIManager.ShowPopupSelection(selections, OnCardLanguageSelection);
}
public void OnCardLanguageSelection()
{
string selected = UnityEngine.EventSystems.EventSystem.current.
currentSelectedGameObject.transform.GetChild(0).GetComponent<Text>().text;
cardLanguageValue.text = selected;
Config.Set("CardLanguage", InterString.GetOriginal(selected));
UIManager.ChangeLanguage();
}
public void InitializeLanguage() public void InitializeLanguage()
{ {
string lan = Config.Get("Language", "zh-CN"); string lan = Config.Get("Language", "zh-CN");
...@@ -690,6 +725,7 @@ namespace MDPro3 ...@@ -690,6 +725,7 @@ namespace MDPro3
Config.Set("Language", InterString.GetOriginal(selected)); Config.Set("Language", InterString.GetOriginal(selected));
UIManager.ChangeLanguage(); UIManager.ChangeLanguage();
} }
public void InitializeConfirm() public void InitializeConfirm()
{ {
string value = Config.Get("Confirm", "1"); string value = Config.Get("Confirm", "1");
......
...@@ -146,33 +146,41 @@ namespace YgomSystem.Effect ...@@ -146,33 +146,41 @@ namespace YgomSystem.Effect
{ {
var widthScale = transform.localScale.x; var widthScale = transform.localScale.x;
var heightScale = transform.localScale.y; var heightScale = transform.localScale.y;
var z = transform.localScale.z;
if(fitMode == FitMode.FitWidth) if (fitMode == FitMode.FitWidth)
{ {
var x = widthScale * (Screen.width * 9f / (Screen.height * 16f)); var x = widthScale * (Screen.width * 9f / (Screen.height * 16f));
transform.localScale = new Vector2(x, heightScale); transform.localScale = new Vector3(x, heightScale, z);
} }
else if(fitMode == FitMode.FitHeight) else if(fitMode == FitMode.FitHeight)
{ {
var y = heightScale * (Screen.height * 16f / (Screen.width * 9f)); var y = heightScale * (Screen.height * 16f / (Screen.width * 9f));
transform.localScale=new Vector2(widthScale, y); transform.localScale=new Vector3(widthScale, y, z);
} }
else if (fitMode == FitMode.FitWidthMaintainAspectRatio) else if (fitMode == FitMode.FitWidthMaintainAspectRatio)
{ {
var x = widthScale * (Screen.width * 9f / (Screen.height * 16f)); if(name == "SpliteDummy" || name == "White")
transform.localScale = new Vector2(x, heightScale * x / widthScale); {
var x = widthScale * (Screen.width * 9f / (Screen.height * 16f));
transform.localScale = new Vector3(x, heightScale * x / widthScale, z);
}
else if(name == "Black")
{
widthScale = 15f * (Screen.width * 9f / (Screen.height * 16f));
transform.localScale = new Vector3(widthScale, widthScale, z);
}
} }
else if (fitMode == FitMode.FitHeightMaintainAspectRatio) else if (fitMode == FitMode.FitHeightMaintainAspectRatio)
{ {
var y = heightScale * (Screen.height * 16f / (Screen.width * 9f)); heightScale = 6f;
transform.localScale = new Vector2(widthScale * y / heightScale, y); transform.localScale = new Vector3(heightScale, heightScale, z);
} }
else if (fitMode == FitMode.FitWidthHeight) else if (fitMode == FitMode.FitWidthHeight)
{ {
var x = heightScale * Screen.width / Screen.height; var x = heightScale * Screen.width / Screen.height;
transform.localScale = new Vector2(x * 1.1f, heightScale); transform.localScale = new Vector3(x * 1.1f, heightScale, z);
if (transform.parent.name.StartsWith("Ef04678")) if (transform.parent != null && transform.parent.name.StartsWith("Ef04678"))
transform.localScale = new Vector2(x * 2f, heightScale * 2f); transform.localScale = new Vector3(x * 2f, heightScale * 2f, z);
} }
} }
......
...@@ -26,7 +26,16 @@ namespace YgomSystem.Timeline ...@@ -26,7 +26,16 @@ namespace YgomSystem.Timeline
var playable = ScriptPlayable<EventPlayableBehaviour>.Create(graph); var playable = ScriptPlayable<EventPlayableBehaviour>.Create(graph);
var behaviour = playable.GetBehaviour(); var behaviour = playable.GetBehaviour();
behaviour.label = label; behaviour.label = label;
behaviour.eventList = new List<EventPlayableBehaviour.EventInfo>();
foreach(var info in eventList)
{
behaviour.eventList.Add(new EventPlayableBehaviour.EventInfo()
{
label = info.label,
time = info.time,
isDone = false
});
}
return playable; return playable;
} }
} }
......
...@@ -31,9 +31,20 @@ namespace YgomSystem.Timeline ...@@ -31,9 +31,20 @@ namespace YgomSystem.Timeline
public override void OnBehaviourPlay(Playable playable, FrameData info) public override void OnBehaviourPlay(Playable playable, FrameData info)
{ {
PlayContent(); PlayContent();
foreach (var e in eventList)
{
if (e.label == "WinStart" && !e.isDone)
{
e.isDone = true;
DOTween.To(v => { }, 0, 0, (float)e.time).OnComplete(() =>
{
Program.I().ocgcore.endingAction?.Invoke();
});
}
}
} }
public override void ProcessFrame(Playable playable, FrameData info, object playerData) public override void ProcessFrame(Playable playable, FrameData info, object playerData)
{ {
if(playable.GetPlayState() == PlayState.Playing) if(playable.GetPlayState() == PlayState.Playing)
PlayContent(); PlayContent();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment