From c97888beccc3e05d0f02794308347dfca50e71bd Mon Sep 17 00:00:00 2001 From: WaitThere Date: Thu, 6 Jun 2024 08:41:26 +0300 Subject: [PATCH] face up cards Allowing to place face up cards --- Assets/Player.prefab | 10 +- Assets/Scenes/SampleScene.unity | 477 ++++++++++++++++++++++- Assets/Scripts/CardPositionManager.cs | 14 + Assets/Scripts/Dragger.cs | 31 +- Assets/Scripts/FaceDownCardManager.cs | 1 + Assets/Scripts/FaceUpCardManager.cs | 22 ++ Assets/Scripts/FaceUpCardManager.cs.meta | 11 + Assets/Scripts/MyFaceUpCards.cs | 34 ++ Assets/Scripts/MyFaceUpCards.cs.meta | 11 + Assets/Scripts/MyPlayer.cs | 2 +- Assets/card.prefab | 8 +- ProjectSettings/TagManager.asset | 2 +- 12 files changed, 610 insertions(+), 13 deletions(-) create mode 100644 Assets/Scripts/FaceUpCardManager.cs create mode 100644 Assets/Scripts/FaceUpCardManager.cs.meta create mode 100644 Assets/Scripts/MyFaceUpCards.cs create mode 100644 Assets/Scripts/MyFaceUpCards.cs.meta diff --git a/Assets/Player.prefab b/Assets/Player.prefab index 9094bae..922517d 100644 --- a/Assets/Player.prefab +++ b/Assets/Player.prefab @@ -16,14 +16,13 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &2462875194578141980 -Transform: +--- !u!224 &2462875194578141980 +RectTransform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8897983651847144775} - serializedVersion: 2 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} @@ -31,3 +30,8 @@ Transform: m_Children: [] m_Father: {fileID: 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: 0, y: 0} + m_SizeDelta: {x: 100, y: 100} + m_Pivot: {x: 0.5, y: 0.5} diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 721d3f8..7b4390f 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -254,6 +254,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &17399833 BoxCollider2D: m_ObjectHideFlags: 0 @@ -430,6 +433,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &37430868 BoxCollider2D: m_ObjectHideFlags: 0 @@ -689,6 +695,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &52248593 BoxCollider2D: m_ObjectHideFlags: 0 @@ -865,6 +874,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &59009154 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1041,6 +1053,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &70879909 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1217,6 +1232,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &73804625 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1393,6 +1411,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &99379770 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1569,6 +1590,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &137058802 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1745,6 +1769,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &144262872 BoxCollider2D: m_ObjectHideFlags: 0 @@ -1926,6 +1953,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &237538865 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2102,6 +2132,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &264468368 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2278,6 +2311,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &287527088 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2454,6 +2490,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &402788512 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2630,6 +2669,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &423356938 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2806,6 +2848,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &430769611 BoxCollider2D: m_ObjectHideFlags: 0 @@ -2982,6 +3027,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &446406413 BoxCollider2D: m_ObjectHideFlags: 0 @@ -3269,6 +3317,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &520827807 BoxCollider2D: m_ObjectHideFlags: 0 @@ -3445,6 +3496,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &601676397 BoxCollider2D: m_ObjectHideFlags: 0 @@ -3621,6 +3675,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &609524139 BoxCollider2D: m_ObjectHideFlags: 0 @@ -3696,7 +3753,7 @@ Transform: m_GameObject: {fileID: 615282783} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: -0.02, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -3797,6 +3854,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &615282789 BoxCollider2D: m_ObjectHideFlags: 0 @@ -3973,6 +4033,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &618582518 BoxCollider2D: m_ObjectHideFlags: 0 @@ -4154,6 +4217,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &716971585 BoxCollider2D: m_ObjectHideFlags: 0 @@ -4330,6 +4396,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &755718665 BoxCollider2D: m_ObjectHideFlags: 0 @@ -4506,6 +4575,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &757024601 BoxCollider2D: m_ObjectHideFlags: 0 @@ -4646,6 +4718,8 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 1822824338} + - {fileID: 1115174266} + - {fileID: 1375089907} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -4784,6 +4858,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &806087289 BoxCollider2D: m_ObjectHideFlags: 0 @@ -4862,6 +4939,8 @@ MonoBehaviour: player2: {fileID: 1503639010} closeCard1: {fileID: 224894869} closeCard2: {fileID: 675545131} + openCard1: {fileID: 1375089906} + openCard2: {fileID: 1115174265} --- !u!4 &825981407 Transform: m_ObjectHideFlags: 0 @@ -5076,6 +5155,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &993661476 BoxCollider2D: m_ObjectHideFlags: 0 @@ -5252,6 +5334,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &994625724 BoxCollider2D: m_ObjectHideFlags: 0 @@ -5428,6 +5513,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1020848819 BoxCollider2D: m_ObjectHideFlags: 0 @@ -5604,6 +5692,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1074677514 BoxCollider2D: m_ObjectHideFlags: 0 @@ -5780,6 +5871,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1097139320 BoxCollider2D: m_ObjectHideFlags: 0 @@ -5956,6 +6050,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1106474915 BoxCollider2D: m_ObjectHideFlags: 0 @@ -6001,6 +6098,143 @@ BoxCollider2D: serializedVersion: 2 m_Size: {x: 1.2, y: 2} m_EdgeRadius: 0 +--- !u!1 &1115174265 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1115174266} + - component: {fileID: 1115174271} + - component: {fileID: 1115174270} + - component: {fileID: 1115174268} + - component: {fileID: 1115174267} + m_Layer: 8 + m_Name: FaceUpCardArea 1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1115174266 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115174265} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5861} + m_LocalScale: {x: 0.25344, y: 0.60608, z: 0.25344} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 781244683} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5.450012, y: -84.16} + m_SizeDelta: {x: 97.74, y: -457.73} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1115174267 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115174265} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae8a0f2b8f12c7341adc3f1617e1f41d, type: 3} + m_Name: + m_EditorClassIdentifier: + myCards: [] + cardSpacing: 500 + filled: 0 +--- !u!61 &1115174268 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115174265} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1000, y: 150} + m_EdgeRadius: 0 +--- !u!114 &1115174270 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115174265} + 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: 0.392} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + 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 &1115174271 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1115174265} + m_CullTransparentMesh: 1 --- !u!1 &1234311696 GameObject: m_ObjectHideFlags: 0 @@ -6132,6 +6366,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1234311702 BoxCollider2D: m_ObjectHideFlags: 0 @@ -6308,6 +6545,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1246280599 BoxCollider2D: m_ObjectHideFlags: 0 @@ -6484,6 +6724,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1266545507 BoxCollider2D: m_ObjectHideFlags: 0 @@ -6660,6 +6903,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1294654796 BoxCollider2D: m_ObjectHideFlags: 0 @@ -6836,6 +7082,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1315816103 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7012,6 +7261,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1341188380 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7188,6 +7440,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1351478242 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7244,6 +7499,143 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1d9206407ce2ee4409e48245bb8d5872, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &1375089906 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1375089907} + - component: {fileID: 1375089911} + - component: {fileID: 1375089910} + - component: {fileID: 1375089908} + - component: {fileID: 1375089912} + m_Layer: 8 + m_Name: FaceUpCardArea 2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1375089907 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375089906} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -5863.176} + m_LocalScale: {x: 0.25344, y: 0.60608, z: 0.25344} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 781244683} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 1.8200073, y: 83.26999} + m_SizeDelta: {x: 116.86, y: -463.73} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!61 &1375089908 +BoxCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375089906} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 0 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_SpriteTilingProperty: + border: {x: 0, y: 0, z: 0, w: 0} + pivot: {x: 0, y: 0} + oldSize: {x: 0, y: 0} + newSize: {x: 0, y: 0} + adaptiveTilingThreshold: 0 + drawMode: 0 + adaptiveTiling: 0 + m_AutoTiling: 0 + serializedVersion: 2 + m_Size: {x: 1000, y: 150} + m_EdgeRadius: 0 +--- !u!114 &1375089910 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375089906} + 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: 0.392} + 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: 10907, guid: 0000000000000000f000000000000000, type: 0} + 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 &1375089911 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375089906} + m_CullTransparentMesh: 1 +--- !u!114 &1375089912 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1375089906} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ae8a0f2b8f12c7341adc3f1617e1f41d, type: 3} + m_Name: + m_EditorClassIdentifier: + myCards: [] + cardSpacing: 500 + filled: 0 --- !u!1 &1426061352 GameObject: m_ObjectHideFlags: 0 @@ -7375,6 +7767,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1426061358 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7570,6 +7965,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1504084412 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7746,6 +8144,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1507042247 BoxCollider2D: m_ObjectHideFlags: 0 @@ -7922,6 +8323,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1510380487 BoxCollider2D: m_ObjectHideFlags: 0 @@ -8098,6 +8502,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1512591886 BoxCollider2D: m_ObjectHideFlags: 0 @@ -8331,6 +8738,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1639356424 BoxCollider2D: m_ObjectHideFlags: 0 @@ -8507,6 +8917,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1653186740 BoxCollider2D: m_ObjectHideFlags: 0 @@ -8588,6 +9001,10 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 2462875194578141980, guid: 8f53783a264cc7a419927d4752ce054f, type: 3} + propertyPath: m_AnchoredPosition.y + value: -5.01 + objectReference: {fileID: 0} - target: {fileID: 2462875194578141980, guid: 8f53783a264cc7a419927d4752ce054f, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 @@ -8604,7 +9021,8 @@ PrefabInstance: propertyPath: m_Name value: Player2 objectReference: {fileID: 0} - m_RemovedComponents: [] + m_RemovedComponents: + - {fileID: 0} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: @@ -8743,6 +9161,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1738066195 BoxCollider2D: m_ObjectHideFlags: 0 @@ -8919,6 +9340,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1769670926 BoxCollider2D: m_ObjectHideFlags: 0 @@ -9242,6 +9666,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1845592394 BoxCollider2D: m_ObjectHideFlags: 0 @@ -9418,6 +9845,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1849831493 BoxCollider2D: m_ObjectHideFlags: 0 @@ -9594,6 +10024,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1856840315 BoxCollider2D: m_ObjectHideFlags: 0 @@ -9770,6 +10203,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &1924336664 BoxCollider2D: m_ObjectHideFlags: 0 @@ -9845,7 +10281,7 @@ Transform: m_GameObject: {fileID: 2125829170} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0.01, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: [] @@ -9946,6 +10382,9 @@ MonoBehaviour: playAreaLayerMask: serializedVersion: 2 m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 256 --- !u!61 &2125829176 BoxCollider2D: m_ObjectHideFlags: 0 @@ -10005,6 +10444,7 @@ GameObject: - component: {fileID: 2147365844} - component: {fileID: 2147365843} - component: {fileID: 2147365848} + - component: {fileID: 2147365849} m_Layer: 0 m_Name: Managers m_TagString: Untagged @@ -10205,6 +10645,22 @@ MonoBehaviour: FaceDownCards: - {fileID: 1831367137} - {fileID: 1356912204} +--- !u!114 &2147365849 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2147365842} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d594b339fd588094e953f63d63d8caf5, type: 3} + m_Name: + m_EditorClassIdentifier: + CardManager: {fileID: 2147365845} + FaceUpCards: + - {fileID: 1375089912} + - {fileID: 1115174267} --- !u!1001 &1632249555824843341 PrefabInstance: m_ObjectHideFlags: 0 @@ -10302,6 +10758,10 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 2462875194578141980, guid: 8f53783a264cc7a419927d4752ce054f, type: 3} + propertyPath: m_AnchoredPosition.y + value: -4.99 + objectReference: {fileID: 0} - target: {fileID: 2462875194578141980, guid: 8f53783a264cc7a419927d4752ce054f, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 @@ -10318,7 +10778,12 @@ PrefabInstance: propertyPath: m_Name value: Player1 objectReference: {fileID: 0} - m_RemovedComponents: [] + - target: {fileID: 8897983651847144775, guid: 8f53783a264cc7a419927d4752ce054f, type: 3} + propertyPath: m_Layer + value: 8 + objectReference: {fileID: 0} + m_RemovedComponents: + - {fileID: 0} m_RemovedGameObjects: [] m_AddedGameObjects: [] m_AddedComponents: @@ -10334,9 +10799,9 @@ SceneRoots: - {fileID: 825981407} - {fileID: 2147365847} - {fileID: 45448361} - - {fileID: 6805960504270490363} - - {fileID: 1673093910} - {fileID: 1632249555824843341} - {fileID: 1617592300} + - {fileID: 6805960504270490363} + - {fileID: 1673093910} - {fileID: 781244683} - {fileID: 854199179} diff --git a/Assets/Scripts/CardPositionManager.cs b/Assets/Scripts/CardPositionManager.cs index ac76248..33122e6 100644 --- a/Assets/Scripts/CardPositionManager.cs +++ b/Assets/Scripts/CardPositionManager.cs @@ -6,12 +6,16 @@ public class CardPositionMannager : MonoBehaviour public GameObject player2; public GameObject closeCard1; public GameObject closeCard2; + public GameObject openCard1; + public GameObject openCard2; // Define the positions where you want the objects to be placed private Vector3 player1Position = new Vector3((float)-4.5, 5, 0); private Vector3 player2Position = new Vector3((float)-4.5, -5, 0); private Vector3 closeCard1Position = new Vector3(-2, (float)1.2, 0); private Vector3 closeCard2Position = new Vector3(-2, (float)-1.2, 0); + private Vector3 openCard1Position = new Vector3(-2, (float)1.2, 0); + private Vector3 openCard2Position = new Vector3(-2, (float)-1.2, 0); void Start() { @@ -22,12 +26,16 @@ void Start() SetGlobalPosition(player2, player2Position, "Player 2"); SetGlobalPosition(closeCard1, closeCard1Position, "Close Card 1"); SetGlobalPosition(closeCard2, closeCard2Position, "Close Card 2"); + SetGlobalPosition(openCard1, openCard1Position, "Open Card 1"); + SetGlobalPosition(openCard2, openCard2Position, "Open Card 2"); // Position the individual cards within each parent PositionCardsLocally(player1, 1.5f, "Player 1"); PositionCardsLocally(player2, 1.5f, "Player 2"); PositionCardsLocally(closeCard1, 1.5f, "Close Card 1"); PositionCardsLocally(closeCard2, 1.5f, "Close Card 2"); + PositionCardsLocally(openCard1, 1.5f, "Open Card 1"); + PositionCardsLocally(openCard2, 1.5f, "Open Card 2"); } void SetGlobalPosition(GameObject obj, Vector3 position, string name) @@ -75,6 +83,12 @@ void OnDrawGizmos() Gizmos.color = Color.yellow; DrawGizmoForObject(closeCard2, closeCard2Position); + + Gizmos.color = Color.magenta; + DrawGizmoForObject(openCard1, openCard1Position); + + Gizmos.color = Color.white; + DrawGizmoForObject(openCard2, openCard2Position); } void DrawGizmoForObject(GameObject obj, Vector3 position) diff --git a/Assets/Scripts/Dragger.cs b/Assets/Scripts/Dragger.cs index 571a2b2..43d717f 100644 --- a/Assets/Scripts/Dragger.cs +++ b/Assets/Scripts/Dragger.cs @@ -11,6 +11,7 @@ public class Dragger : MonoBehaviour private CanvasGroup canvasGroup; private RectTransform rectTransform; public LayerMask playAreaLayerMask; + public LayerMask faceUpAreaLayerMask; private void Awake() { @@ -23,6 +24,7 @@ void OnMouseDown() { _dragOffset = transform.position - GetMausePos(); isDragging = true; + } private void OnMouseDrag() @@ -32,6 +34,7 @@ private void OnMouseDrag() private void OnMouseUp() { isDragging = false; + CheckFaceUpArea(); CheckPlayArea(); // Check if the card is over the play area @@ -45,8 +48,34 @@ Vector3 GetMausePos() return mousePos; } - + void CheckFaceUpArea() + { + RaycastHit2D hit = Physics2D.Raycast(GetMausePos(), Vector2.zero, Mathf.Infinity, faceUpAreaLayerMask); + + if (hit.collider != null) + { + Debug.Log("Raycast hit something: " + hit.collider.gameObject.name); + MyFaceUpCards faceUpArea = hit.collider.GetComponent(); + Card card = GetComponent(); + Debug.Log("Play are name: " + faceUpArea); + Debug.Log("Card name: " + card); + if (faceUpArea != null && card != null) + { + Debug.Log("Raycast hit player area"); + faceUpArea.TakeCard(card); + } + else + { + Debug.Log("Raycast did not hit a player area or card is null"); + } + } + else + { + Debug.Log("Raycast did not hit anything"); + } + + } void CheckPlayArea() { RaycastHit2D hit = Physics2D.Raycast(GetMausePos(), Vector2.zero, Mathf.Infinity, playAreaLayerMask); diff --git a/Assets/Scripts/FaceDownCardManager.cs b/Assets/Scripts/FaceDownCardManager.cs index 3e18103..7ecfa61 100644 --- a/Assets/Scripts/FaceDownCardManager.cs +++ b/Assets/Scripts/FaceDownCardManager.cs @@ -17,6 +17,7 @@ public void GetClosedCards() for (int i = 0; i < 3; i++) { FaceDownCards.TakeCard(CardManager.Pool.Pop()); + } } } diff --git a/Assets/Scripts/FaceUpCardManager.cs b/Assets/Scripts/FaceUpCardManager.cs new file mode 100644 index 0000000..91cdb21 --- /dev/null +++ b/Assets/Scripts/FaceUpCardManager.cs @@ -0,0 +1,22 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class FaceUpCardManager : MonoBehaviour +{ + public CardManager CardManager; + public List FaceUpCards; + + + public void GetClosedCards() + { + foreach (var FaceUpCards in FaceUpCards) + { + for (int i = 0; i < 3; i++) + { + FaceUpCards.TakeCard(CardManager.Pool.Pop()); + + } + } + } +} diff --git a/Assets/Scripts/FaceUpCardManager.cs.meta b/Assets/Scripts/FaceUpCardManager.cs.meta new file mode 100644 index 0000000..7f17ca4 --- /dev/null +++ b/Assets/Scripts/FaceUpCardManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d594b339fd588094e953f63d63d8caf5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MyFaceUpCards.cs b/Assets/Scripts/MyFaceUpCards.cs new file mode 100644 index 0000000..2d2fa27 --- /dev/null +++ b/Assets/Scripts/MyFaceUpCards.cs @@ -0,0 +1,34 @@ +using System.Collections; +using System.Collections.Generic; +using Unity.Collections.LowLevel.Unsafe; +using Unity.VisualScripting; +using UnityEngine; + +public class MyFaceUpCards : MonoBehaviour +{ + public List myCards; + public float cardSpacing = 2.0f; // Adjust this value as needed + public bool filled = false; + + public void TakeCard(Card card) + { + if (filled) + return; + card.CardDisplay.UpdateCardDisplay(); + myCards.Add(card); + card.transform.parent = transform; + if (myCards.Count == 3) + filled = true; + PositionCards(); + } + + private void PositionCards() + { + for (int i = 0; i < myCards.Count; i++) + { + Vector3 cardPosition = new Vector3(i * cardSpacing, 0, 0); + myCards[i].transform.localPosition = cardPosition; + Debug.Log($"FaceDown Card {myCards[i].name} positioned at {cardPosition} locally within {name}"); + } + } +} diff --git a/Assets/Scripts/MyFaceUpCards.cs.meta b/Assets/Scripts/MyFaceUpCards.cs.meta new file mode 100644 index 0000000..baac197 --- /dev/null +++ b/Assets/Scripts/MyFaceUpCards.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ae8a0f2b8f12c7341adc3f1617e1f41d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/MyPlayer.cs b/Assets/Scripts/MyPlayer.cs index d8421e8..9f3e601 100644 --- a/Assets/Scripts/MyPlayer.cs +++ b/Assets/Scripts/MyPlayer.cs @@ -10,7 +10,7 @@ public void TakeCard(Card card) { myCards.Add(card); card.transform.parent = transform; - PositionCards(); + PositionCards(); } private void PositionCards() diff --git a/Assets/card.prefab b/Assets/card.prefab index d9c9196..f605967 100644 --- a/Assets/card.prefab +++ b/Assets/card.prefab @@ -14,7 +14,7 @@ GameObject: - component: {fileID: 5582862528949658310} - component: {fileID: 3557027649629213617} - component: {fileID: -2931387037996289850} - m_Layer: 0 + m_Layer: 7 m_Name: card m_TagString: Untagged m_Icon: {fileID: 0} @@ -128,6 +128,12 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1a2f5bb5404bc9d48a81828026b08719, type: 3} m_Name: m_EditorClassIdentifier: + playAreaLayerMask: + serializedVersion: 2 + m_Bits: 64 + faceUpAreaLayerMask: + serializedVersion: 2 + m_Bits: 128 --- !u!61 &-2931387037996289850 BoxCollider2D: m_ObjectHideFlags: 0 diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index dfa2cfc..e296dcb 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -13,7 +13,7 @@ TagManager: - UI - PlayArea - Card - - + - Player - - -