Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
MDPro3
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
14
Issues
14
List
Boards
Labels
Service Desk
Milestones
Merge Requests
3
Merge Requests
3
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赤子奈落
MDPro3
Commits
15bccc0f
Commit
15bccc0f
authored
Apr 19, 2024
by
SherryChaos
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
special win animation & card rendering language setting
parent
8d29331c
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1029 additions
and
158 deletions
+1029
-158
Assets/Main.unity
Assets/Main.unity
+576
-21
Assets/Scripts/MDPro3/CardRenderer.cs
Assets/Scripts/MDPro3/CardRenderer.cs
+13
-13
Assets/Scripts/MDPro3/Duel/GameCard.cs
Assets/Scripts/MDPro3/Duel/GameCard.cs
+1
-1
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/Card.cs
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/Card.cs
+24
-25
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/CardsManager.cs
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/CardsManager.cs
+45
-8
Assets/Scripts/MDPro3/Helper/InterString.cs
Assets/Scripts/MDPro3/Helper/InterString.cs
+26
-11
Assets/Scripts/MDPro3/Helper/StringHelper.cs
Assets/Scripts/MDPro3/Helper/StringHelper.cs
+70
-21
Assets/Scripts/MDPro3/Managers/TextureManager.cs
Assets/Scripts/MDPro3/Managers/TextureManager.cs
+14
-0
Assets/Scripts/MDPro3/Servants/OcgCore.cs
Assets/Scripts/MDPro3/Servants/OcgCore.cs
+183
-45
Assets/Scripts/MDPro3/Servants/Setting.cs
Assets/Scripts/MDPro3/Servants/Setting.cs
+36
-0
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
+19
-11
Assets/Scripts/MasterDuel/YgomSystem/Timeline/EventPlayableAsset.cs
...ipts/MasterDuel/YgomSystem/Timeline/EventPlayableAsset.cs
+10
-1
Assets/Scripts/MasterDuel/YgomSystem/Timeline/EventPlayableBehaviour.cs
.../MasterDuel/YgomSystem/Timeline/EventPlayableBehaviour.cs
+12
-1
No files found.
Assets/Main.unity
View file @
15bccc0f
...
...
@@ -6436,7 +6436,7 @@ MonoBehaviour:
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 0
m_Text:
"\u9752\u773C\u767D\u9F99"
m_Text:
--- !u!222 &124899931
CanvasRenderer:
m_ObjectHideFlags: 0
...
...
@@ -6730,7 +6730,7 @@ RectTransform:
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: -399.9998
8
, y: 0}
m_AnchoredPosition: {x: -399.9998
5
, y: 0}
m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0}
--- !u!114 &129642814
...
...
@@ -7653,7 +7653,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0.5}
m_AnchorMax: {x: 0, y: 0.5}
m_AnchoredPosition: {x: -490.0003
7
, y: 0}
m_AnchoredPosition: {x: -490.0003
4
, y: 0}
m_SizeDelta: {x: 490, y: 2000}
m_Pivot: {x: 0, y: 0.5}
--- !u!114 &153416284
...
...
@@ -12916,7 +12916,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &250597853
...
...
@@ -13217,6 +13217,7 @@ RectTransform:
- {fileID: 1284572561}
- {fileID: 1149457841}
- {fileID: 1802412320}
- {fileID: 1437610478}
- {fileID: 1914298059}
m_Father: {fileID: 835420698}
m_RootOrder: 0
...
...
@@ -13224,7 +13225,7 @@ RectTransform:
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 2
25
0}
m_SizeDelta: {x: 0, y: 2
40
0}
m_Pivot: {x: 0, y: 1}
--- !u!1 &256757514
GameObject:
...
...
@@ -15808,7 +15809,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &296823158
...
...
@@ -17924,7 +17925,7 @@ RectTransform:
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: -399.9998
8
, y: 300}
m_AnchoredPosition: {x: -399.9998
5
, y: 300}
m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0}
--- !u!114 &365844423
...
...
@@ -22297,7 +22298,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 902627732}
m_Direction: 2
m_Value: 1
m_Size: 0.4
8
m_Size: 0.4
4999996
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
...
...
@@ -26532,6 +26533,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 517009798}
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
GameObject:
m_ObjectHideFlags: 0
...
...
@@ -34688,6 +34768,8 @@ MonoBehaviour:
autoRPSValue: {fileID: 447766551}
uiScale: {fileID: 878213415}
uiScaleValue: {fileID: 827639876}
cardLanguage: {fileID: 1442862357}
cardLanguageValue: {fileID: 1593847972}
language: {fileID: 2138794183}
languageValue: {fileID: 494374500}
duelAppearance: {fileID: 586408462}
...
...
@@ -34891,7 +34973,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &681567863
...
...
@@ -35648,7 +35730,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, 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_Pivot: {x: 0.5, y: 1}
--- !u!114 &702608002
...
...
@@ -37543,7 +37625,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: -419.9998
8
, y: -60}
m_AnchoredPosition: {x: -419.9998
5
, y: -60}
m_SizeDelta: {x: 400, y: 760}
m_Pivot: {x: 0, y: 1}
--- !u!114 &736958434
...
...
@@ -38977,7 +39059,7 @@ MonoBehaviour:
m_HandleRect: {fileID: 476827028}
m_Direction: 2
m_Value: 1
m_Size: 0.6
275177
6
m_Size: 0.6
385054
6
m_NumberOfSteps: 0
m_OnValueChanged:
m_PersistentCalls:
...
...
@@ -51055,7 +51137,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1005556390
...
...
@@ -55564,7 +55646,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, 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_Pivot: {x: 0.5, y: 1}
--- !u!1 &1117266860
...
...
@@ -60392,7 +60474,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text:
"Ave M\xE1xima del Valle Brumoso"
m_text:
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 61da779331669ef43956c281aebd9006, type: 2}
m_sharedMaterial: {fileID: -1319644866169810436, guid: 61da779331669ef43956c281aebd9006, type: 2}
...
...
@@ -68789,7 +68871,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1371617110
...
...
@@ -68941,7 +69023,7 @@ RectTransform:
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: -399.9998
8
, y: 150}
m_AnchoredPosition: {x: -399.9998
5
, y: 150}
m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0}
--- !u!114 &1374530642
...
...
@@ -72754,6 +72836,82 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 1500}
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
GameObject:
m_ObjectHideFlags: 0
...
...
@@ -72954,6 +73112,170 @@ Transform:
m_Father: {fileID: 365283973}
m_RootOrder: 3
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
GameObject:
m_ObjectHideFlags: 0
...
...
@@ -77940,6 +78262,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1524753703}
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
GameObject:
m_ObjectHideFlags: 0
...
...
@@ -81051,6 +81452,85 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1593276268}
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
GameObject:
m_ObjectHideFlags: 0
...
...
@@ -92740,7 +93220,7 @@ RectTransform:
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: -399.9998
8
, y: -150}
m_AnchoredPosition: {x: -399.9998
5
, y: -150}
m_SizeDelta: {x: -1350, y: 80}
m_Pivot: {x: 1, y: 0}
--- !u!114 &1800729521
...
...
@@ -97653,7 +98133,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 247.4998
8
, y: -540}
m_AnchoredPosition: {x: 247.4998
5
, y: -540}
m_SizeDelta: {x: -565, y: 1080}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1895460095
...
...
@@ -98890,11 +99370,11 @@ RectTransform:
m_Children:
- {fileID: 2138794180}
m_Father: {fileID: 255926432}
m_RootOrder: 1
4
m_RootOrder: 1
5
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: -2
08
0}
m_AnchoredPosition: {x: 10, y: -2
23
0}
m_SizeDelta: {x: -50, y: 140}
m_Pivot: {x: 0, y: 1}
--- !u!114 &1914298060
...
...
@@ -99098,6 +99578,81 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1918493725}
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
GameObject:
m_ObjectHideFlags: 0
Assets/Scripts/MDPro3/CardRenderer.cs
View file @
15bccc0f
...
...
@@ -48,7 +48,7 @@ namespace MDPro3
//cardDescription
cardName
.
fontSize
=
50
;
cardName
.
GetComponent
<
RectTransform
>().
sizeDelta
=
new
Vector2
(
200
,
80
);
var
language
=
Config
.
Get
(
"Language"
,
"zh-CN"
);
var
language
=
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
);
if
(
language
==
"zh-CN"
)
{
var
handle
=
Addressables
.
LoadAssetAsync
<
Font
>(
"RenderFontChineseSimplified"
);
...
...
@@ -107,13 +107,13 @@ namespace MDPro3
public
void
RenderName
(
int
code
)
{
var
data
=
CardsManager
.
Get
(
code
);
var
data
=
CardsManager
.
Get
RenderCard
(
code
);
if
(
data
.
Id
==
0
)
return
;
cardName
.
GetComponent
<
RectTransform
>().
localScale
=
Vector3
.
one
;
cardNameTMP
.
GetComponent
<
RectTransform
>().
localScale
=
Vector3
.
one
;
if
(
Config
.
Get
(
"Language"
,
"zh-CN"
)
==
"en-US"
||
Config
.
Get
(
"Language"
,
"zh-CN"
)
==
"es-ES"
)
if
(
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
)
==
"en-US"
||
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
)
==
"es-ES"
)
{
cardName
.
text
=
string
.
Empty
;
cardNameTMP
.
text
=
data
.
Name
;
...
...
@@ -184,14 +184,14 @@ namespace MDPro3
public
void
RenderCard
(
int
code
,
Texture2D
art
)
{
var
data
=
CardsManager
.
Get
(
code
);
Card
data
=
CardsManager
.
GetRenderCard
(
code
);
if
(
data
.
Id
==
0
)
return
;
cardName
.
GetComponent
<
RectTransform
>().
localScale
=
Vector3
.
one
;
cardNameTMP
.
GetComponent
<
RectTransform
>().
localScale
=
Vector3
.
one
;
if
(
Config
.
Get
(
"Language"
,
"zh-CN"
)
==
"en-US"
||
Config
.
Get
(
"Language"
,
"zh-CN"
)
==
"es-ES"
)
if
(
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
)
==
"en-US"
||
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
)
==
"es-ES"
)
{
cardName
.
text
=
string
.
Empty
;
cardNameTMP
.
text
=
data
.
Name
;
...
...
@@ -259,7 +259,7 @@ namespace MDPro3
cardArtPendulum
.
texture
=
art
;
}
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
]);
lScale
.
text
=
data
.
LScale
.
ToString
();
rScale
.
text
=
data
.
RScale
.
ToString
();
...
...
@@ -282,7 +282,7 @@ namespace MDPro3
cardArt
.
texture
=
art
;
var
description
=
""
;
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
);
cardDescription
.
text
=
description
;
...
...
@@ -320,7 +320,7 @@ namespace MDPro3
var
bracketRight
=
"】"
;
var
spaces
=
" "
;
spellTypeIcon
.
GetComponent
<
RectTransform
>().
anchoredPosition
=
new
Vector2
(-
79f
,
364
);
switch
(
Config
.
Get
(
"Language"
,
"zh-CN"
))
switch
(
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
))
{
case
"en-US"
:
bracketLeft
=
"["
;
...
...
@@ -350,7 +350,7 @@ namespace MDPro3
if
((
data
.
Type
&
(
uint
)
CardType
.
Spell
)
>
0
)
{
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
)
spellTypeIcon
.
sprite
=
TextureManager
.
container
.
typeField
;
else
if
((
data
.
Type
&
(
uint
)
CardType
.
Equip
)
>
0
)
...
...
@@ -368,7 +368,7 @@ namespace MDPro3
else
{
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
)
spellTypeIcon
.
sprite
=
TextureManager
.
container
.
typeCounter
;
else
if
((
data
.
Type
&
(
uint
)
CardType
.
Continuous
)
>
0
)
...
...
@@ -490,7 +490,7 @@ namespace MDPro3
{
if
(
string
.
IsNullOrEmpty
(
description
))
return
string
.
Empty
;
var
language
=
Config
.
Get
(
"Language"
,
"zh-CN"
);
var
language
=
Config
.
Get
(
"
Card
Language"
,
"zh-CN"
);
if
(
language
==
"ja-JP"
)
{
...
...
Assets/Scripts/MDPro3/Duel/GameCard.cs
View file @
15bccc0f
...
...
@@ -11,7 +11,6 @@ using MDPro3.UI;
using
MDPro3.YGOSharp
;
using
MDPro3.YGOSharp.OCGWrapper.Enums
;
namespace
MDPro3
{
public
class
GPS
...
...
@@ -1736,6 +1735,7 @@ namespace MDPro3
sequence
.
Append
(
offset
.
DOLocalMove
(
new
Vector3
(
0
,
2
,
3
),
0.1f
).
OnStart
(()
=>
{
AudioManager
.
PlaySE
(
"SE_CARDVIEW_02"
);
Program
.
I
().
ocgcore
.
description
.
Show
(
this
,
null
);
}));
sequence
.
Join
(
turn
.
DOLocalRotate
(
Vector3
.
zero
,
0.1f
).
OnComplete
(()
=>
{
...
...
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/Card.cs
View file @
15bccc0f
...
...
@@ -120,40 +120,39 @@ namespace MDPro3.YGOSharp
internal
Card
(
IDataRecord
reader
)
{
this
.
Str
=
new
string
[
16
];
this
.
Id
=
(
int
)
reader
.
GetInt64
(
0
);
this
.
Ot
=
reader
.
GetInt32
(
1
);
this
.
Alias
=
(
int
)
reader
.
GetInt64
(
2
);
this
.
Setcode
=
reader
.
GetInt64
(
3
);
this
.
Type
=
(
int
)
reader
.
GetInt64
(
4
);
this
.
Attack
=
reader
.
GetInt32
(
5
);
this
.
Defense
=
reader
.
GetInt32
(
6
);
this
.
rAttack
=
this
.
Attack
;
this
.
rDefense
=
this
.
Defense
;
Str
=
new
string
[
16
];
Id
=
(
int
)
reader
.
GetInt64
(
0
);
Ot
=
reader
.
GetInt32
(
1
);
Alias
=
(
int
)
reader
.
GetInt64
(
2
);
Setcode
=
reader
.
GetInt64
(
3
);
Type
=
(
int
)
reader
.
GetInt64
(
4
);
Attack
=
reader
.
GetInt32
(
5
);
Defense
=
reader
.
GetInt32
(
6
);
rAttack
=
this
.
Attack
;
rDefense
=
this
.
Defense
;
long
Level_raw
=
reader
.
GetInt64
(
7
);
this
.
Level
=
(
int
)
Level_raw
&
0xff
;
this
.
LScale
=
(
int
)((
Level_raw
>>
0x18
)
&
0xff
);
this
.
RScale
=
(
int
)((
Level_raw
>>
0x10
)
&
0xff
);
this
.
LinkMarker
=
this
.
Defense
;
this
.
Race
=
reader
.
GetInt32
(
8
);
this
.
Attribute
=
reader
.
GetInt32
(
9
);
this
.
Category
=
reader
.
GetInt64
(
10
);
this
.
Name
=
reader
.
GetString
(
12
);
this
.
Desc
=
reader
.
GetString
(
13
);
Level
=
(
int
)
Level_raw
&
0xff
;
LScale
=
(
int
)((
Level_raw
>>
0x18
)
&
0xff
);
RScale
=
(
int
)((
Level_raw
>>
0x10
)
&
0xff
);
LinkMarker
=
this
.
Defense
;
Race
=
reader
.
GetInt32
(
8
);
Attribute
=
reader
.
GetInt32
(
9
);
Category
=
reader
.
GetInt64
(
10
);
Name
=
reader
.
GetString
(
12
);
Desc
=
reader
.
GetString
(
13
);
for
(
int
ii
=
0
;
ii
<
0x10
;
ii
++)
{
this
.
Str
[
ii
]
=
reader
.
GetString
(
14
+
ii
);
Str
[
ii
]
=
reader
.
GetString
(
14
+
ii
);
}
}
public
Card
()
{
this
.
Id
=
0
;
this
.
Str
=
new
string
[
16
];
this
.
Name
=
CardsManager
.
nullName
;
this
.
Desc
=
CardsManager
.
nullString
;
Id
=
0
;
Str
=
new
string
[
16
];
Name
=
CardsManager
.
nullName
;
Desc
=
CardsManager
.
nullString
;
}
}
}
\ No newline at end of file
Assets/Scripts/MDPro3/Duel/MDPro3.YGOSharp/CardsManager.cs
View file @
15bccc0f
...
...
@@ -6,7 +6,6 @@ using Mono.Data.Sqlite;
using
MDPro3.YGOSharp.OCGWrapper.Enums
;
using
System.IO
;
using
static
MDPro3
.
EditDeck
;
using
System.Text
;
using
Ionic.Zip
;
namespace
MDPro3.YGOSharp
...
...
@@ -14,7 +13,7 @@ namespace MDPro3.YGOSharp
internal
static
class
CardsManager
{
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
nullString
=
""
;
...
...
@@ -52,9 +51,36 @@ namespace MDPro3.YGOSharp
}
UpdateSetNames
();
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
))
{
...
...
@@ -67,7 +93,7 @@ namespace MDPro3.YGOSharp
{
while
(
reader
.
Read
())
{
LoadCard
(
reader
);
LoadCard
(
reader
,
render
);
}
}
}
...
...
@@ -89,7 +115,12 @@ namespace MDPro3.YGOSharp
return
_cards
[
id
].
Clone
();
return
null
;
}
internal
static
Card
GetRenderCard
(
int
id
)
{
if
(
_cardsForRender
.
ContainsKey
(
id
))
return
_cardsForRender
[
id
].
Clone
();
return
null
;
}
internal
static
Card
GetCardRaw
(
int
id
)
{
if
(
_cards
.
ContainsKey
(
id
))
...
...
@@ -120,12 +151,18 @@ namespace MDPro3.YGOSharp
return
returnValue
;
}
private
static
void
LoadCard
(
IDataRecord
reader
)
private
static
void
LoadCard
(
IDataRecord
reader
,
bool
render
=
false
)
{
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
);
}
}
...
...
Assets/Scripts/MDPro3/Helper/InterString.cs
View file @
15bccc0f
...
...
@@ -8,18 +8,19 @@ namespace MDPro3
public
static
class
InterString
{
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
()
{
string
language
=
Config
.
Get
(
"Language"
,
"zh-CN"
);
path
=
Program
.
localesPath
+
Program
.
slash
+
language
+
"/translation.conf"
;
translations
.
Clear
(
);
path
=
Program
.
localesPath
+
Program
.
slash
+
Config
.
Get
(
"Language"
,
"zh-CN"
)
+
"/translation.conf"
;
if
(!
File
.
Exists
(
path
))
File
.
Create
(
path
).
Close
();
var
txtString
=
File
.
ReadAllText
(
path
);
var
lines
=
txtString
.
Replace
(
"\r"
,
""
).
Split
(
'\n'
);
translations
.
Clear
();
for
(
var
i
=
0
;
i
<
lines
.
Length
;
i
++)
{
var
mats
=
Regex
.
Split
(
lines
[
i
],
"->"
);
...
...
@@ -27,34 +28,49 @@ namespace MDPro3
if
(!
translations
.
ContainsKey
(
mats
[
0
]))
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
;
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"
,
""
);
if
(
original
!=
""
)
{
try
{
File
.
AppendAllText
(
path
,
original
+
"->"
+
original
+
"\r\n"
);
File
.
AppendAllText
(
render
?
pathForRender
:
path
,
original
+
"->"
+
original
+
"\r\n"
);
}
catch
{
Program
.
noAccess
=
true
;
}
translations
.
Add
(
original
,
original
);
t
argetT
ranslations
.
Add
(
original
,
original
);
return
original
.
Replace
(
"@n"
,
"\r\n"
).
Replace
(
"@ui"
,
""
);
}
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
)
{
...
...
@@ -69,6 +85,5 @@ namespace MDPro3
}
return
returnValue
;
}
}
}
Assets/Scripts/MDPro3/Helper/StringHelper.cs
View file @
15bccc0f
...
...
@@ -11,7 +11,7 @@ namespace MDPro3
public
static
class
StringHelper
{
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
int
StringToInt
(
string
str
)
...
...
@@ -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
lines
=
st
.
Split
(
new
[]
{
"\n"
},
StringSplitOptions
.
RemoveEmptyEntries
);
...
...
@@ -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
=
""
;
foreach
(
var
s
in
hashedStrings
)
foreach
(
var
s
in
render
?
hashedStringsForRender
:
hashedStrings
)
if
(
s
.
region
==
region
&&
s
.
hashCode
==
hashCode
)
{
re
=
s
.
content
;
...
...
@@ -103,10 +152,10 @@ namespace MDPro3
return
re
;
}
internal
static
string
GetUnsafe
(
int
hashCode
)
internal
static
string
GetUnsafe
(
int
hashCode
,
bool
render
=
false
)
{
var
re
=
""
;
foreach
(
var
s
in
hashedStrings
)
foreach
(
var
s
in
render
?
hashedStringsForRender
:
hashedStrings
)
if
(
s
.
region
==
"system"
&&
s
.
hashCode
==
hashCode
)
{
re
=
s
.
content
;
...
...
@@ -115,7 +164,6 @@ namespace MDPro3
return
re
;
}
internal
static
string
Get
(
int
description
)
{
var
a
=
""
;
...
...
@@ -185,7 +233,7 @@ namespace MDPro3
}
return
r
;
}
public
static
string
Race
(
long
race
)
public
static
string
Race
(
long
race
,
bool
render
=
false
)
{
var
r
=
""
;
var
passFirst
=
false
;
...
...
@@ -193,7 +241,7 @@ namespace MDPro3
if
((
race
&
(
1
<<
i
))
>
0
)
{
if
(
passFirst
)
r
+=
Program
.
slash
;
r
+=
GetUnsafe
(
1020
+
i
);
r
+=
GetUnsafe
(
1020
+
i
,
render
);
passFirst
=
true
;
}
return
r
;
...
...
@@ -254,7 +302,7 @@ namespace MDPro3
}
public
static
string
MainType
(
long
a
)
public
static
string
MainType
(
long
a
,
bool
render
=
false
)
{
var
r
=
""
;
var
passFirst
=
false
;
...
...
@@ -262,13 +310,13 @@ namespace MDPro3
if
((
a
&
(
1
<<
i
))
>
0
)
{
if
(
passFirst
)
r
+=
Program
.
slash
;
r
+=
GetUnsafe
(
1050
+
i
);
r
+=
GetUnsafe
(
1050
+
i
,
render
);
passFirst
=
true
;
}
return
r
;
}
public
static
string
SecondType
(
long
a
)
public
static
string
SecondType
(
long
a
,
bool
render
=
false
)
{
var
start
=
""
;
var
end
=
""
;
...
...
@@ -277,14 +325,14 @@ namespace MDPro3
for
(
var
i
=
4
;
i
<
27
;
i
++)
if
(((
a
&
0x68020C0
)
&
(
1
<<
i
))
>
0
)
{
start
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
);
start
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
,
render
);
break
;
}
a
-=
a
&
0x68020C0
;
}
if
((
a
&
(
long
)
CardType
.
Pendulum
)
>
0
)
{
start
+=
Program
.
slash
+
GetUnsafe
(
1074
);
start
+=
Program
.
slash
+
GetUnsafe
(
1074
,
render
);
a
-=
(
long
)
CardType
.
Pendulum
;
}
if
((
a
&
0x30
)
>
0
)
...
...
@@ -292,29 +340,29 @@ namespace MDPro3
for
(
var
i
=
4
;
i
<
6
;
i
++)
if
((
a
&
(
1
<<
i
))
>
0
)
{
end
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
);
end
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
,
render
);
break
;
}
a
-=
a
&
0x30
;
}
for
(
var
i
=
4
;
i
<
27
;
i
++)
if
((
a
&
(
1
<<
i
))
>
0
)
start
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
);
start
+=
Program
.
slash
+
GetUnsafe
(
1050
+
i
,
render
);
var
returnValue
=
start
+
end
;
if
(
returnValue
==
""
)
returnValue
=
GetUnsafe
(
1054
);
returnValue
=
GetUnsafe
(
1054
,
render
);
else
returnValue
=
returnValue
.
Substring
(
1
,
returnValue
.
Length
-
1
);
return
returnValue
;
}
public
static
string
GetType
(
Card
data
)
public
static
string
GetType
(
Card
data
,
bool
render
=
false
)
{
var
re
=
""
;
if
(
data
.
Id
==
0
)
return
re
;
var
origin
=
CardsManager
.
Get
(
data
.
Id
);
var
origin
=
render
?
CardsManager
.
GetRenderCard
(
data
.
Id
)
:
CardsManager
.
Get
(
data
.
Id
);
try
{
if
(
CardDescription
.
WhetherCardIsMonster
(
data
))
...
...
@@ -322,7 +370,7 @@ namespace MDPro3
if
(
data
.
Race
!=
origin
.
Race
)
re
=
"¡¾"
+
"<color=#FD3E08>"
+
InterString
.
Get
(
"[?]×å"
,
Race
(
data
.
Race
))
+
"</color>"
+
Program
.
slash
+
SecondType
(
data
.
Type
)
+
"¡¿"
;
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
,
re
nder
)
+
"¡¿"
;
}
else
re
=
"¡¾"
+
MainType
(
data
.
Type
)
+
"¡¿"
;
...
...
@@ -331,6 +379,7 @@ namespace MDPro3
{
Debug
.
LogError
(
e
);
}
return
re
;
}
public
static
string
GetSetName
(
long
Setcode
,
bool
raw
=
false
)
{
var
setcodes
=
new
int
[
4
];
...
...
Assets/Scripts/MDPro3/Managers/TextureManager.cs
View file @
15bccc0f
...
...
@@ -124,6 +124,20 @@ namespace MDPro3
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
)
{
if
(!
File
.
Exists
(
path
))
...
...
Assets/Scripts/MDPro3/Servants/OcgCore.cs
View file @
15bccc0f
...
...
@@ -19,6 +19,8 @@ using MDPro3.YGOSharp;
using
MDPro3.YGOSharp.OCGWrapper.Enums
;
using
static
YgomGame
.
Bg
.
BgEffectSettingInner
;
using
MDPro3.UI
;
using
YgomGame.Duel
;
using
UnityEngine.AI
;
namespace
MDPro3
{
...
...
@@ -1223,7 +1225,7 @@ namespace MDPro3
//Program.I().room.duelEnded: For match End;
bool
needDamageResponseInstant
;
public
Action
endingAction
;
public
void
CoreReset
()
{
if
(
cards
.
Count
>
0
)
...
...
@@ -1252,17 +1254,12 @@ namespace MDPro3
surrended
=
false
;
deckReserved
=
false
;
cantCheckGrave
=
false
;
cookie_matchKill
=
0
;
needDamageResponseInstant
=
false
;
if
(
condition
==
Condition
.
Replay
)
{
replayButtons
.
SetActive
(
true
);
//buttonForceSaveReplay.SetActive(false);
}
else
{
//buttonForceSaveReplay.SetActive(true);
replayButtons
.
SetActive
(
false
);
}
buttonStop
.
SetActive
(
true
);
buttonPlay
.
SetActive
(
false
);
buttonAcc
.
SetActive
(
true
);
...
...
@@ -1292,6 +1289,7 @@ namespace MDPro3
opSpSummonCount
=
0
;
Program
.
I
().
room
.
duelEnded
=
false
;
Program
.
I
().
room
.
joinWithReconnect
=
false
;
endingAction
=
null
;
}
public
void
AddPackage
(
Package
p
)
...
...
@@ -1631,6 +1629,7 @@ namespace MDPro3
duelEnded
=
true
;
description
.
Hide
();
ClearResponse
();
if
(
currentPopup
!=
null
)
{
currentPopup
.
whenQuitDo
=
null
;
...
...
@@ -1642,6 +1641,7 @@ namespace MDPro3
keys
.
Insert
(
0
,
currentMessageIndex
);
AudioManager
.
StopBGM
();
GameObject
duelText
;
string
endingReason
=
string
.
Empty
;
if
(
player
==
2
)
{
result
=
DuelResult
.
Draw
;
...
...
@@ -1654,23 +1654,13 @@ namespace MDPro3
if
(
cookie_matchKill
>
0
)
{
winReason
=
CardsManager
.
Get
(
cookie_matchKill
).
Name
;
PrintDuelLog
(
InterString
.
Get
(
"比赛胜利,卡片:[?]"
,
winReason
)
);
endingReason
=
InterString
.
Get
(
"比赛胜利,卡片:[?]"
,
winReason
);
}
else
{
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
{
...
...
@@ -1679,33 +1669,14 @@ namespace MDPro3
if
(
cookie_matchKill
>
0
)
{
winReason
=
CardsManager
.
Get
(
cookie_matchKill
).
Name
;
PrintDuelLog
(
InterString
.
Get
(
"比赛败北,卡片:[?]"
,
winReason
)
);
endingReason
=
InterString
.
Get
(
"比赛败北,卡片:[?]"
,
winReason
);
}
else
{
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
)
timerHandler
.
DuelEnd
();
if
(
playableGuide0
!=
null
&&
playableGuide1
!=
null
)
...
...
@@ -1715,6 +1686,107 @@ namespace MDPro3
}
//防止对方在更换副卡组时拔螺丝
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
;
case
GameMessage
.
Start
:
CoreReset
();
...
...
@@ -1740,7 +1812,6 @@ namespace MDPro3
player0Name
.
text
=
name_0_tag
;
}
SetFace
();
cookie_matchKill
=
0
;
GCS_CreateBundle
(
r
.
ReadInt16
(),
LocalPlayer
(
0
),
CardLocation
.
Deck
);
GCS_CreateBundle
(
r
.
ReadInt16
(),
LocalPlayer
(
0
),
CardLocation
.
Extra
);
GCS_CreateBundle
(
r
.
ReadInt16
(),
LocalPlayer
(
1
),
CardLocation
.
Deck
);
...
...
@@ -1912,7 +1983,7 @@ namespace MDPro3
opExtra
.
gameObject
.
SetActive
(
true
);
cg
.
alpha
=
0
;
cg
.
interactable
=
false
;
mono
=
myDeck
.
gameObject
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
var
mono
=
myDeck
.
gameObject
.
AddComponent
<
DoWhenPlayableDirectorStop
>();
mono
.
action
=
()
=>
{
cg
.
alpha
=
1
;
...
...
@@ -2329,8 +2400,9 @@ namespace MDPro3
card
.
negated
=
true
;
card
.
AnimationNegate
();
Sleep
(
100
);
messagePass
=
true
;
return
;
}
if
(
condition
==
Condition
.
Duel
&&
Config
.
Get
(
"DuelEffect"
,
"1"
)
==
"0"
)
needPlay
=
false
;
...
...
@@ -2897,6 +2969,7 @@ namespace MDPro3
Sequence
quence
=
DOTween
.
Sequence
();
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
(()
=>
{
tailObj
.
SetActive
(
true
);
...
...
@@ -2905,6 +2978,8 @@ namespace MDPro3
}));
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
));
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
.
AppendCallback
(()
=>
{
...
...
@@ -2927,6 +3002,7 @@ namespace MDPro3
}
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
.
Join
(
attackTransform
.
DORotate
(
faceAngle
+
new
Vector3
(
45f
,
0f
,
0f
),
0.5f
).
SetEase
(
Ease
.
InOutCubic
));
quence
.
InsertCallback
(
0.4f
,
()
=>
...
...
@@ -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
));
faceAngle
.
z
=
0
;
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
.
AppendCallback
(()
=>
...
...
@@ -3500,7 +3577,6 @@ namespace MDPro3
if
(
card
!=
null
)
{
card
.
SetCode
(
code
);
description
.
Show
(
card
,
null
);
card
.
AnimationConfirm
(
i
);
}
}
...
...
@@ -4755,6 +4831,68 @@ namespace MDPro3
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
#
region
PracticalizeTools
...
...
Assets/Scripts/MDPro3/Servants/Setting.cs
View file @
15bccc0f
...
...
@@ -48,6 +48,8 @@ namespace MDPro3
public
Text
autoRPSValue
;
public
Slider
uiScale
;
public
Text
uiScaleValue
;
public
Button
cardLanguage
;
public
Text
cardLanguageValue
;
public
Button
language
;
public
Text
languageValue
;
[
Header
(
"Duel"
)]
...
...
@@ -163,6 +165,7 @@ namespace MDPro3
showFPS
.
onClick
.
AddListener
(
OnShowFPSClicked
);
screen
.
onClick
.
AddListener
(
OnScreenModeChange
);
resolution
.
onClick
.
AddListener
(
OnResolutionChange
);
cardLanguage
.
onClick
.
AddListener
(
OnCardLanguageChange
);
language
.
onClick
.
AddListener
(
OnLanguageChange
);
confirm
.
onClick
.
AddListener
(
OnConfirmClicked
);
autoRPS
.
onClick
.
AddListener
(
OnAutoRPS
);
...
...
@@ -230,6 +233,7 @@ namespace MDPro3
InitializeScreenMode
();
InitializeResolution
();
InitializeConfirm
();
InitializeCardLanguage
();
InitializeLanguage
();
InitializeSwitches
();
}
...
...
@@ -278,6 +282,7 @@ namespace MDPro3
Config
.
Set
(
"ShowFPS"
,
SaveBool
(
showFPSValue
.
text
));
Config
.
Set
(
"ScreenMode"
,
SaveScreenMode
(
screenValue
.
text
));
Config
.
Set
(
"Resolution"
,
resolutionValue
.
text
);
Config
.
Set
(
"CardLanguage"
,
InterString
.
GetOriginal
(
cardLanguageValue
.
text
));
Config
.
Set
(
"Language"
,
InterString
.
GetOriginal
(
languageValue
.
text
));
Config
.
Set
(
"Confirm"
,
SaveBool
(
confirmValue
.
text
));
...
...
@@ -660,6 +665,36 @@ namespace MDPro3
Screen
.
SetResolution
(
int
.
Parse
(
Regex
.
Split
(
selected
,
" x "
)[
0
]),
int
.
Parse
(
Regex
.
Split
(
selected
,
" x "
)[
1
]),
Screen
.
fullScreen
);
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
()
{
string
lan
=
Config
.
Get
(
"Language"
,
"zh-CN"
);
...
...
@@ -690,6 +725,7 @@ namespace MDPro3
Config
.
Set
(
"Language"
,
InterString
.
GetOriginal
(
selected
));
UIManager
.
ChangeLanguage
();
}
public
void
InitializeConfirm
()
{
string
value
=
Config
.
Get
(
"Confirm"
,
"1"
);
...
...
Assets/Scripts/MasterDuel/YgomSystem/Effect/SpriteScaler.cs
View file @
15bccc0f
...
...
@@ -146,33 +146,41 @@ namespace YgomSystem.Effect
{
var
widthScale
=
transform
.
localScale
.
x
;
var
heightScale
=
transform
.
localScale
.
y
;
if
(
fitMode
==
FitMode
.
FitWidth
)
var
z
=
transform
.
localScale
.
z
;
if
(
fitMode
==
FitMode
.
FitWidth
)
{
var
x
=
widthScale
*
(
Screen
.
width
*
9f
/
(
Screen
.
height
*
16f
));
transform
.
localScale
=
new
Vector
2
(
x
,
heightScale
);
transform
.
localScale
=
new
Vector
3
(
x
,
heightScale
,
z
);
}
else
if
(
fitMode
==
FitMode
.
FitHeight
)
{
var
y
=
heightScale
*
(
Screen
.
height
*
16f
/
(
Screen
.
width
*
9f
));
transform
.
localScale
=
new
Vector
2
(
widthScale
,
y
);
transform
.
localScale
=
new
Vector
3
(
widthScale
,
y
,
z
);
}
else
if
(
fitMode
==
FitMode
.
FitWidthMaintainAspectRatio
)
{
var
x
=
widthScale
*
(
Screen
.
width
*
9f
/
(
Screen
.
height
*
16f
));
transform
.
localScale
=
new
Vector2
(
x
,
heightScale
*
x
/
widthScale
);
if
(
name
==
"SpliteDummy"
||
name
==
"White"
)
{
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
)
{
var
y
=
heightScale
*
(
Screen
.
height
*
16f
/
(
Screen
.
width
*
9f
))
;
transform
.
localScale
=
new
Vector
2
(
widthScale
*
y
/
heightScale
,
y
);
heightScale
=
6f
;
transform
.
localScale
=
new
Vector
3
(
heightScale
,
heightScale
,
z
);
}
else
if
(
fitMode
==
FitMode
.
FitWidthHeight
)
{
var
x
=
heightScale
*
Screen
.
width
/
Screen
.
height
;
transform
.
localScale
=
new
Vector
2
(
x
*
1.1f
,
heightScale
);
if
(
transform
.
parent
.
name
.
StartsWith
(
"Ef04678"
))
transform
.
localScale
=
new
Vector
2
(
x
*
2f
,
heightScale
*
2f
);
transform
.
localScale
=
new
Vector
3
(
x
*
1.1f
,
heightScale
,
z
);
if
(
transform
.
parent
!=
null
&&
transform
.
parent
.
name
.
StartsWith
(
"Ef04678"
))
transform
.
localScale
=
new
Vector
3
(
x
*
2f
,
heightScale
*
2f
,
z
);
}
}
...
...
Assets/Scripts/MasterDuel/YgomSystem/Timeline/EventPlayableAsset.cs
View file @
15bccc0f
...
...
@@ -26,7 +26,16 @@ namespace YgomSystem.Timeline
var
playable
=
ScriptPlayable
<
EventPlayableBehaviour
>.
Create
(
graph
);
var
behaviour
=
playable
.
GetBehaviour
();
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
;
}
}
...
...
Assets/Scripts/MasterDuel/YgomSystem/Timeline/EventPlayableBehaviour.cs
View file @
15bccc0f
...
...
@@ -31,9 +31,20 @@ namespace YgomSystem.Timeline
public
override
void
OnBehaviourPlay
(
Playable
playable
,
FrameData
info
)
{
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
)
PlayContent
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment