From 12eb732b3cd46d7373096b29c6ef741aa17024c1 Mon Sep 17 00:00:00 2001 From: YiHan0621 <2857295085@qq.com> Date: Fri, 29 Aug 2025 16:34:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=98=E6=96=97=E5=9C=BA=E6=99=AFUI=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Prefabs/Gameplay/BoardDeck.prefab | 24 +- Assets/TcgEngine/Prefabs/UI/ManaBar.prefab | 247 +++++++++- Assets/TcgEngine/Prefabs/UI/ManaGem.prefab | 78 +++ .../TcgEngine/Prefabs/UI/ManaGem.prefab.meta | 7 + Assets/TcgEngine/Scenes/Game/Game.unity | 462 ++++++++---------- .../TcgEngine/Scripts/GameClient/BoardDeck.cs | 5 +- Assets/TcgEngine/Scripts/UI/GameUI.cs | 10 +- Assets/TcgEngine/Scripts/UI/IconBar.cs | 66 +-- .../Skill/{法力槽.png => magic_slot.png} | Bin ...法力槽.png.meta => magic_slot.png.meta} | 0 .../{Mana_Icon.png => mana_icon_true.png} | Bin ..._Icon.png.meta => mana_icon_true.png.meta} | 0 Assets/TcgEngine/Sprites/UI/mana_empty.png | Bin 2022 -> 0 bytes .../TcgEngine/Sprites/UI/mana_empty.png.meta | 171 ------- Assets/TcgEngine/Sprites/UI/mana_full.png | Bin 3214 -> 0 bytes .../TcgEngine/Sprites/UI/mana_full.png.meta | 171 ------- Assets/TcgEngine/Sprites/UI/menu.png | Bin 5887 -> 7588 bytes 17 files changed, 590 insertions(+), 651 deletions(-) create mode 100644 Assets/TcgEngine/Prefabs/UI/ManaGem.prefab create mode 100644 Assets/TcgEngine/Prefabs/UI/ManaGem.prefab.meta rename Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/{法力槽.png => magic_slot.png} (100%) rename Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/{法力槽.png.meta => magic_slot.png.meta} (100%) rename Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/{Mana_Icon.png => mana_icon_true.png} (100%) rename Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/{Mana_Icon.png.meta => mana_icon_true.png.meta} (100%) delete mode 100644 Assets/TcgEngine/Sprites/UI/mana_empty.png delete mode 100644 Assets/TcgEngine/Sprites/UI/mana_empty.png.meta delete mode 100644 Assets/TcgEngine/Sprites/UI/mana_full.png delete mode 100644 Assets/TcgEngine/Sprites/UI/mana_full.png.meta diff --git a/Assets/TcgEngine/Prefabs/Gameplay/BoardDeck.prefab b/Assets/TcgEngine/Prefabs/Gameplay/BoardDeck.prefab index 4d93d13..8f7309a 100644 --- a/Assets/TcgEngine/Prefabs/Gameplay/BoardDeck.prefab +++ b/Assets/TcgEngine/Prefabs/Gameplay/BoardDeck.prefab @@ -29,6 +29,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5621716279701640646} m_RootOrder: 2 @@ -120,9 +121,10 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 5621716278606480177} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 7.58, y: -1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalScale: {x: 0.7, y: 0.7, z: 0.7} + m_ConstrainProportionsScale: 1 m_Children: - {fileID: 5621716279381743939} - {fileID: 5621716279701640646} @@ -140,7 +142,7 @@ BoxCollider: m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 2 - m_Size: {x: 0.5, y: 1.5, z: 0.2} + m_Size: {x: 2.8, y: 2.6, z: 0.2} m_Center: {x: 0, y: 0, z: 0} --- !u!114 &5621716278606480178 MonoBehaviour: @@ -185,7 +187,8 @@ Transform: m_GameObject: {fileID: 5621716279381743936} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.2, y: 0.2, z: 0.2} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_ConstrainProportionsScale: 1 m_Children: [] m_Father: {fileID: 5621716278606480176} m_RootOrder: 0 @@ -201,6 +204,7 @@ SpriteRenderer: m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -230,12 +234,12 @@ SpriteRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 2 - m_Sprite: {fileID: 21300000, guid: 23ce0a1828f761845b5505cf96d99463, type: 3} + m_Sprite: {fileID: 21300000, guid: 914b0a0772168ea44bbc6dbdd8640588, type: 3} m_Color: {r: 1, g: 1, b: 1, a: 1} m_FlipX: 0 m_FlipY: 0 m_DrawMode: 0 - m_Size: {x: 3.4, y: 8.6} + m_Size: {x: 1.92, y: 1.76} m_AdaptiveModeThreshold: 0.5 m_SpriteTileMode: 0 m_WasSpriteAssigned: 1 @@ -269,6 +273,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5621716279701640646} m_RootOrder: 1 @@ -344,6 +349,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5621716279701640646} m_RootOrder: 0 @@ -423,6 +429,7 @@ RectTransform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.01, y: 0.01, z: 1} + m_ConstrainProportionsScale: 0 m_Children: - {fileID: 5621716279588866083} - {fileID: 5621716279400494292} @@ -433,8 +440,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} - m_AnchoredPosition: {x: 0, y: 0} - m_SizeDelta: {x: 80, y: 150} + m_AnchoredPosition: {x: -1.03, y: -0.0402} + m_SizeDelta: {x: 270.2936, y: 249.0147} m_Pivot: {x: 0.5, y: 0.5} --- !u!223 &5621716279701640643 Canvas: @@ -564,6 +571,7 @@ RectTransform: m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 5621716279701640646} m_RootOrder: 3 diff --git a/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab b/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab index 02a1fe7..a88ce7a 100644 --- a/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab +++ b/Assets/TcgEngine/Prefabs/UI/ManaBar.prefab @@ -1,5 +1,148 @@ %YAML 1.1 %TAG !u! tag:unity3d.com,2011: +--- !u!1 &696383005654738547 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7237580038607553900} + - component: {fileID: 4269309825207489344} + - component: {fileID: 7163901669548351928} + m_Layer: 5 + m_Name: ManaValue + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &7237580038607553900 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696383005654738547} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4252802152300486646} + 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!222 &4269309825207489344 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696383005654738547} + m_CullTransparentMesh: 1 +--- !u!114 &7163901669548351928 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 696383005654738547} + 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: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 34 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 40 + m_Alignment: 4 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: 10/10 +--- !u!1 &715292708398136001 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 9125401619137482432} + - component: {fileID: 8479351009184604631} + m_Layer: 5 + m_Name: mana_magic_slot + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &9125401619137482432 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715292708398136001} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1789197561201869425} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 53.2, y: 2.305} + m_SizeDelta: {x: 473.93, y: 45.39} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &8479351009184604631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 715292708398136001} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: + m_Left: 0 + m_Right: 0 + m_Top: 0 + m_Bottom: 0 + m_ChildAlignment: 4 + m_Spacing: 0 + m_ChildForceExpandWidth: 1 + m_ChildForceExpandHeight: 1 + m_ChildControlWidth: 0 + m_ChildControlHeight: 0 + m_ChildScaleWidth: 0 + m_ChildScaleHeight: 0 + m_ReverseArrangement: 0 --- !u!1 &837668356876754076 GameObject: m_ObjectHideFlags: 0 @@ -29,14 +172,15 @@ RectTransform: m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 - m_Children: [] + m_Children: + - {fileID: 7237580038607553900} m_Father: {fileID: 1789197561201869425} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -200, y: 0} - m_SizeDelta: {x: 50, y: 50} + m_AnchoredPosition: {x: -258.3, y: 0.0000025332} + m_SizeDelta: {x: 122.35, y: 40.78} m_Pivot: {x: 0.5, y: 0.5} --- !u!222 &2779207319221291161 CanvasRenderer: @@ -66,7 +210,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_Sprite: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} + m_Sprite: {fileID: 21300000, guid: 5b42e715327d1b94f87939f55c541744, type: 3} m_Type: 0 m_PreserveAspect: 0 m_FillCenter: 1 @@ -76,6 +220,82 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &1002928476299922204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1313572327666918543} + - component: {fileID: 6670290129275773677} + - component: {fileID: 8053292481829511539} + m_Layer: 5 + m_Name: ManaBarBg + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1313572327666918543 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1002928476299922204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1789197561201869425} + m_RootOrder: 0 + 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: 336.62, y: -4.8} + m_SizeDelta: {x: 673.24, y: 73.51} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6670290129275773677 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1002928476299922204} + m_CullTransparentMesh: 1 +--- !u!114 &8053292481829511539 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1002928476299922204} + 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: f825fc548550ed14e9d0af715f400ac0, 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!1 &1806244588100620830 GameObject: m_ObjectHideFlags: 0 @@ -105,14 +325,16 @@ RectTransform: m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: + - {fileID: 1313572327666918543} - {fileID: 4252802152300486646} + - {fileID: 9125401619137482432} m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0.5, y: 0.5} m_AnchorMax: {x: 0.5, y: 0.5} - m_AnchoredPosition: {x: -721.4, y: -506} - m_SizeDelta: {x: 450, y: 50} + m_AnchoredPosition: {x: -612.87305, y: -493.68274} + m_SizeDelta: {x: 667.054, y: 59.5899} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &3188539720586938462 MonoBehaviour: @@ -130,7 +352,6 @@ MonoBehaviour: max_value: 10 auto_refresh: 1 icons: - - {fileID: 1601931411152116145} - {fileID: 0} - {fileID: 0} - {fileID: 0} @@ -141,8 +362,10 @@ MonoBehaviour: - {fileID: 0} - {fileID: 0} - {fileID: 0} - - {fileID: 0} - sprite_full: {fileID: 21300000, guid: 2b8a2aed9882e774bba6723260f7a6fc, type: 3} - sprite_empty: {fileID: 21300000, guid: 74cc1786d4cd2fc44865297475ce72b1, type: 3} - value_text: {fileID: 0} + mana_icon_true: {fileID: 21300000, guid: 07382087d0a14d44f8c64068a19fca58, type: 3} + mana_icon_false: {fileID: 21300000, guid: 6b5eb5ce052ad0c4bbdfcf41b7786bc2, type: 3} + mana_gem: {fileID: 7003042636269835821, guid: 27674e2c34a45db4999e66bbb9a8bff0, + type: 3} + mana_magic_slot: {fileID: 9125401619137482432} + value_text: {fileID: 7163901669548351928} value_format: '{0}' diff --git a/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab b/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab new file mode 100644 index 0000000..2deecaa --- /dev/null +++ b/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab @@ -0,0 +1,78 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &7003042636269835821 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4971172428471940912} + - component: {fileID: 1280904730495396501} + - component: {fileID: 8645580289619916484} + m_Layer: 5 + m_Name: ManaGem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4971172428471940912 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7003042636269835821} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 0, y: 0} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 40, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &1280904730495396501 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7003042636269835821} + m_CullTransparentMesh: 1 +--- !u!114 &8645580289619916484 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7003042636269835821} + 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: 07382087d0a14d44f8c64068a19fca58, 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 diff --git a/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab.meta b/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab.meta new file mode 100644 index 0000000..e4a64dd --- /dev/null +++ b/Assets/TcgEngine/Prefabs/UI/ManaGem.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 27674e2c34a45db4999e66bbb9a8bff0 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/TcgEngine/Scenes/Game/Game.unity b/Assets/TcgEngine/Scenes/Game/Game.unity index 3bdd3dd..ab4f36f 100644 --- a/Assets/TcgEngine/Scenes/Game/Game.unity +++ b/Assets/TcgEngine/Scenes/Game/Game.unity @@ -711,12 +711,12 @@ PrefabInstance: - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} propertyPath: m_SizeDelta.x - value: 100 + value: 669.25 objectReference: {fileID: 0} - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} propertyPath: m_SizeDelta.y - value: 100 + value: 64.98 objectReference: {fileID: 0} - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} @@ -756,12 +756,12 @@ PrefabInstance: - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} propertyPath: m_AnchoredPosition.x - value: 0 + value: 94 objectReference: {fileID: 0} - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} propertyPath: m_AnchoredPosition.y - value: 0 + value: 105 objectReference: {fileID: 0} - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} @@ -783,6 +783,31 @@ PrefabInstance: propertyPath: m_Name value: ManaBar objectReference: {fileID: 0} + - target: {fileID: 1963551852143253988, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1963551852143253988, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1963551852143253988, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1963551852143253988, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: icons.Array.size + value: 0 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!224 &599664747 stripped @@ -791,6 +816,18 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 599664746} m_PrefabAsset: {fileID: 0} +--- !u!114 &599664748 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 599664746} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &629549709 PrefabInstance: m_ObjectHideFlags: 0 @@ -1003,6 +1040,24 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!224 &719182404 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 1381553796} + m_PrefabAsset: {fileID: 0} +--- !u!114 &719182405 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 3188539720586938462, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + m_PrefabInstance: {fileID: 1381553796} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: bf1498eac12d8c14e98918e5ac2baf2c, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1001 &760249802 PrefabInstance: m_ObjectHideFlags: 0 @@ -1128,131 +1183,6 @@ RectTransform: type: 3} m_PrefabInstance: {fileID: 760249802} m_PrefabAsset: {fileID: 0} ---- !u!1001 &791413700 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1423002456186907592} - m_Modifications: - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Pivot.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMax.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchorMin.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.x - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_SizeDelta.y - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_AnchoredPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - propertyPath: m_Name - value: ManaBar - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} ---- !u!224 &791413701 stripped -RectTransform: - m_CorrespondingSourceObject: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, - type: 3} - m_PrefabInstance: {fileID: 791413700} - m_PrefabAsset: {fileID: 0} --- !u!1001 &839364591 PrefabInstance: m_ObjectHideFlags: 0 @@ -1615,6 +1545,32 @@ PrefabInstance: propertyPath: m_Name value: BoardDeck (1) objectReference: {fileID: 0} + - target: {fileID: 5621716278606480178, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: opponent + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: m_Size.x + value: 1.92 + objectReference: {fileID: 0} + - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: m_Size.y + value: 1.76 + objectReference: {fileID: 0} + - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: m_Sprite + value: + objectReference: {fileID: 21300000, guid: 914b0a0772168ea44bbc6dbdd8640588, + type: 3} + - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, + type: 3} + propertyPath: m_WasSpriteAssigned + value: 1 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} --- !u!4 &1156614219 stripped @@ -1798,6 +1754,125 @@ Transform: type: 3} m_PrefabInstance: {fileID: 1307629563} m_PrefabAsset: {fileID: 0} +--- !u!1001 &1381553796 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1423002456186907592} + m_Modifications: + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMax.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchorMin.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.x + value: 667.054 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_SizeDelta.y + value: 59.5899 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.x + value: -101.89 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_AnchoredPosition.y + value: -106 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1789197561201869425, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1806244588100620830, guid: c0560a244fe3e0f4ca2ea65c54093d1c, + type: 3} + propertyPath: m_Name + value: ManaBar + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c0560a244fe3e0f4ca2ea65c54093d1c, type: 3} --- !u!1001 &1475694346 PrefabInstance: m_ObjectHideFlags: 0 @@ -6545,6 +6620,8 @@ MonoBehaviour: end_turn_button: {fileID: 4201586067522883778} timeout_animator: {fileID: 1518244282451244695} timeout_audio: {fileID: 0} + player_prompt_text: {fileID: 1014071804920449871} + opponent_prompt_text: {fileID: 274638598} --- !u!222 &1375480012144160000 CanvasRenderer: m_ObjectHideFlags: 0 @@ -6698,7 +6775,7 @@ RectTransform: - {fileID: 5116160367503992191} - {fileID: 542427985331174769} - {fileID: 274638600} - - {fileID: 791413701} + - {fileID: 719182404} m_Father: {fileID: 3763743434186710458} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -18206,31 +18283,11 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 1892906616} m_Modifications: - - target: {fileID: 5621716278257251354, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} propertyPath: m_RootOrder value: 0 objectReference: {fileID: 0} - - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.x - value: 0.7 - objectReference: {fileID: 0} - - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.y - value: 0.7 - objectReference: {fileID: 0} - - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.z - value: 0.7 - objectReference: {fileID: 0} - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} propertyPath: m_LocalPosition.x @@ -18281,112 +18338,11 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5621716278606480176, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_ConstrainProportionsScale - value: 1 - objectReference: {fileID: 0} - target: {fileID: 5621716278606480177, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} propertyPath: m_Name value: BoardDeck objectReference: {fileID: 0} - - target: {fileID: 5621716278606480178, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: opponent - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5621716278606480179, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_Size.x - value: 2.8 - objectReference: {fileID: 0} - - target: {fileID: 5621716278606480179, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_Size.y - value: 2.6 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_Size.x - value: 1.92 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_Size.y - value: 1.76 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_Sprite - value: - objectReference: {fileID: 21300000, guid: 914b0a0772168ea44bbc6dbdd8640588, - type: 3} - - target: {fileID: 5621716279381743938, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_WasSpriteAssigned - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.x - value: 1.5 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.y - value: 1.5 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalScale.z - value: 1.5 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5621716279381743939, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_ConstrainProportionsScale - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5621716279400494293, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5621716279588866080, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5621716279701640646, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_SizeDelta.x - value: 270.2936 - objectReference: {fileID: 0} - - target: {fileID: 5621716279701640646, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_SizeDelta.y - value: 249.0147 - objectReference: {fileID: 0} - - target: {fileID: 5621716279701640646, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_AnchoredPosition.x - value: -1.03 - objectReference: {fileID: 0} - - target: {fileID: 5621716279701640646, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_AnchoredPosition.y - value: -0.0402 - objectReference: {fileID: 0} - - target: {fileID: 5621716279996141062, guid: 310f492c3e6afc24b9cb0f4f467ec27d, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 310f492c3e6afc24b9cb0f4f467ec27d, type: 3} --- !u!114 &5626139744338325029 @@ -23383,7 +23339,7 @@ MonoBehaviour: is_opponent: 1 pname: {fileID: 8910794351160122199} avatar: {fileID: 6598602421798066154} - mana_bar: {fileID: 0} + mana_bar: {fileID: 719182405} hp_txt: {fileID: 2939088998120593464} hp_max_txt: {fileID: 6463041976108408170} secrets: @@ -28872,7 +28828,7 @@ MonoBehaviour: is_opponent: 0 pname: {fileID: 5039050087490005747} avatar: {fileID: 5931035347307129765} - mana_bar: {fileID: 0} + mana_bar: {fileID: 599664748} hp_txt: {fileID: 2949388926519243547} hp_max_txt: {fileID: 3106629797317188641} secrets: diff --git a/Assets/TcgEngine/Scripts/GameClient/BoardDeck.cs b/Assets/TcgEngine/Scripts/GameClient/BoardDeck.cs index 7e0da75..9d1c1cb 100644 --- a/Assets/TcgEngine/Scripts/GameClient/BoardDeck.cs +++ b/Assets/TcgEngine/Scripts/GameClient/BoardDeck.cs @@ -1,4 +1,4 @@ -using System.Collections; + using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; @@ -42,7 +42,7 @@ namespace TcgEngine.Client Player player = opponent ? GameClient.Get().GetOpponentPlayer() : GameClient.Get().GetPlayer(); if (player == null) return; - + // 获取卡背数据,如果为空则使用默认路径 CardbackData cb = CardbackData.Get(player.cardback); if (deck_render != null) @@ -50,6 +50,7 @@ namespace TcgEngine.Client if (cb != null) { deck_render.sprite = cb.GetDeck(); + deck_render.gameObject.transform.localScale = Vector3.one * 0.5f; } else { diff --git a/Assets/TcgEngine/Scripts/UI/GameUI.cs b/Assets/TcgEngine/Scripts/UI/GameUI.cs index 4463355..8148775 100644 --- a/Assets/TcgEngine/Scripts/UI/GameUI.cs +++ b/Assets/TcgEngine/Scripts/UI/GameUI.cs @@ -27,6 +27,9 @@ namespace TcgEngine.UI public Animator timeout_animator; public AudioClip timeout_audio; + public Text player_prompt_text; + public Text opponent_prompt_text; + private float selector_timer = 0f; private float end_turn_timer = 0f; private int prev_time_val = 0; @@ -76,7 +79,12 @@ namespace TcgEngine.UI end_turn_button.interactable = yourturn && end_turn_timer > 1f; end_turn_timer += Time.deltaTime; selector_timer += Time.deltaTime; - + + // 提示玩家 + player_prompt_text.text = yourturn ? "正在行动" : "正在等待"; + opponent_prompt_text.text = yourturn ? "正在等待" : "正在行动"; + + //Timer turn_count.text = "回合 " + data.turn_count.ToString(); turn_timer.enabled = data.turn_timer > 0f; diff --git a/Assets/TcgEngine/Scripts/UI/IconBar.cs b/Assets/TcgEngine/Scripts/UI/IconBar.cs index f60c0bd..2e9ff70 100644 --- a/Assets/TcgEngine/Scripts/UI/IconBar.cs +++ b/Assets/TcgEngine/Scripts/UI/IconBar.cs @@ -1,5 +1,7 @@ -using System.Collections; +using System; +using System.Collections; using System.Collections.Generic; +using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; @@ -13,12 +15,14 @@ namespace TcgEngine.UI public class IconBar : MonoBehaviour { public int value = 0; - public int max_value = 4; + public int max_value = 10; public bool auto_refresh = true; - public Image[] icons; - public Sprite sprite_full; - public Sprite sprite_empty; + public List icons; + public Sprite mana_icon_true; + public Sprite mana_icon_false; + public GameObject mana_gem; + public Transform mana_magic_slot; [Header("Value Display")] public Text value_text; // 显示当前法力值数字的文本组件 @@ -26,7 +30,24 @@ namespace TcgEngine.UI void Awake() { + + } + private void Start() + { + InitManaData(); + } + + private void InitManaData() + { + icons.Clear(); + for (int i = 0; i < max_value; i++) + { + GameObject item = Instantiate(mana_gem, mana_magic_slot); + item.name = $"mana--{i}"; + var img = item.GetComponent(); + icons.Add(img); + } } void Update() @@ -39,16 +60,14 @@ namespace TcgEngine.UI { if (icons == null) return; - - int index = 0; - foreach (Image icon in icons) + + for (int i = 0; i < icons.Count; i++) { - if (icon == null) + if (icons[i] == null) continue; - - icon.gameObject.SetActive(index < value || index < max_value); - icon.sprite = (index < value) ? sprite_full : sprite_empty; - index++; + + // 前 value 个点亮,后面的变灰 + icons[i].sprite = (i < value) ? mana_icon_true : mana_icon_false; } // 更新法力值数字文本 @@ -59,26 +78,7 @@ namespace TcgEngine.UI { if (value_text != null) { - value_text.text = string.Format(value_format, value); - } - } - - // 手动设置值并更新文本 - public void SetValue(int new_value) - { - value = new_value; - UpdateValueText(); - } - - public void SetMat(Material mat) - { - if (icons == null) - return; - - foreach (Image icon in icons) - { - if (icon != null) - icon.material = mat; + value_text.text = string.Format(value_format, value + "/10"); } } } diff --git a/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/法力槽.png b/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/magic_slot.png similarity index 100% rename from Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/法力槽.png rename to Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/magic_slot.png diff --git a/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/法力槽.png.meta b/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/magic_slot.png.meta similarity index 100% rename from Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/法力槽.png.meta rename to Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/magic_slot.png.meta diff --git a/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/Mana_Icon.png b/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/mana_icon_true.png similarity index 100% rename from Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/Mana_Icon.png rename to Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/mana_icon_true.png diff --git a/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/Mana_Icon.png.meta b/Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/mana_icon_true.png.meta similarity index 100% rename from Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/Mana_Icon.png.meta rename to Assets/TcgEngine/Sprites/UI/BattleChessboard/Skill/mana_icon_true.png.meta diff --git a/Assets/TcgEngine/Sprites/UI/mana_empty.png b/Assets/TcgEngine/Sprites/UI/mana_empty.png deleted file mode 100644 index 965961d3218bac52f7933767e964102a6e0cd60e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2022 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 AP5=M^ diff --git a/Assets/TcgEngine/Sprites/UI/mana_full.png.meta b/Assets/TcgEngine/Sprites/UI/mana_full.png.meta deleted file mode 100644 index af1cd6a..0000000 --- a/Assets/TcgEngine/Sprites/UI/mana_full.png.meta +++ /dev/null @@ -1,171 +0,0 @@ -fileFormatVersion: 2 -guid: 2b8a2aed9882e774bba6723260f7a6fc -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - mipmaps: - mipMapMode: 0 - enableMipMap: 0 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMasterTextureLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 1 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 1 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Windows Store Apps - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/TcgEngine/Sprites/UI/menu.png b/Assets/TcgEngine/Sprites/UI/menu.png index d4df92093e89c283366d3342cbf06c0df8ded5fc..5e695bf38068c8e3aa9184e9588339334fc29214 100644 GIT binary patch literal 7588 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 O=;7++lIgsD%fA3{u-o+j