From 6179c5bc0e3be7e3d5c8e94567c009b268bf770c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20P=C4=9Bnkava?= Date: Sun, 27 Jul 2025 23:48:47 +0200 Subject: [PATCH] Skill Logic Implemented basic UI for skills to player --- 3D blobici/Assets/Karts/Karta.prefab | 135 ----------------- .../Assets/{Karts.meta => Prefabs/Cards.meta} | 2 +- .../Assets/Prefabs/Cards/DashCard.prefab | 137 ++++++++++++++++++ .../Cards/DashCard.prefab.meta} | 2 +- .../Assets/Prefabs/Cards/DashCard1.prefab | 137 ++++++++++++++++++ .../Prefabs/Cards/DashCard1.prefab.meta | 7 + .../Assets/Prefabs/Cards/DashCard2.prefab | 137 ++++++++++++++++++ .../Prefabs/Cards/DashCard2.prefab.meta | 7 + .../Assets/Prefabs/Cards/DashCard3.prefab | 137 ++++++++++++++++++ .../Prefabs/Cards/DashCard3.prefab.meta | 7 + .../{ => Prefabs}/Levels/MapLayout1.asset | 0 .../Levels/MapLayout1.asset.meta | 0 .../Assets/Prefabs/PlayerContainer.prefab | 60 ++++++++ 3D blobici/Assets/Scenes/GenTest.unity | 69 +++++++++ .../{Levels.meta => Scripts/Cards.meta} | 2 +- .../Assets/Scripts/Cards/CardManager.cs | 97 +++++++++++++ .../Assets/Scripts/Cards/CardManager.cs.meta | 2 + 3D blobici/Assets/Scripts/Cards/CardUI.cs | 23 +++ .../Assets/Scripts/Cards/CardUI.cs.meta | 2 + .../Assets/Scripts/Player/PlayerMovement.cs | 33 +++++ .../Assets/Scripts/Player/PlayerSkillTree.cs | 51 +++++++ .../Scripts/Player/PlayerSkillTree.cs.meta | 2 + 3D blobici/Assets/Sprites.meta | 8 + 3D blobici/Assets/Sprites/Cards.meta | 8 + 3D blobici/Assets/Sprites/Cards/Card.meta | 8 + .../{Karts => Sprites/Cards/Card}/Karta.asset | 37 ++++- .../Cards/Card}/Karta.asset.meta | 0 .../{Karts => Sprites/Cards/Card}/Karta.png | Bin .../Cards/Card}/Karta.png.meta | 46 ++++-- .../Resources/Sprite Assets/EmojiOne.asset | 63 +++++--- .../TextMesh Pro/Resources/TMP Settings.asset | 2 +- 3D blobici/Packages/manifest.json | 1 + 3D blobici/Packages/packages-lock.json | 6 + 33 files changed, 1047 insertions(+), 181 deletions(-) delete mode 100644 3D blobici/Assets/Karts/Karta.prefab rename 3D blobici/Assets/{Karts.meta => Prefabs/Cards.meta} (77%) create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard.prefab rename 3D blobici/Assets/{Karts/Karta.prefab.meta => Prefabs/Cards/DashCard.prefab.meta} (74%) create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard1.prefab create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard1.prefab.meta create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard2.prefab create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard2.prefab.meta create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard3.prefab create mode 100644 3D blobici/Assets/Prefabs/Cards/DashCard3.prefab.meta rename 3D blobici/Assets/{ => Prefabs}/Levels/MapLayout1.asset (100%) rename 3D blobici/Assets/{ => Prefabs}/Levels/MapLayout1.asset.meta (100%) rename 3D blobici/Assets/{Levels.meta => Scripts/Cards.meta} (77%) create mode 100644 3D blobici/Assets/Scripts/Cards/CardManager.cs create mode 100644 3D blobici/Assets/Scripts/Cards/CardManager.cs.meta create mode 100644 3D blobici/Assets/Scripts/Cards/CardUI.cs create mode 100644 3D blobici/Assets/Scripts/Cards/CardUI.cs.meta create mode 100644 3D blobici/Assets/Scripts/Player/PlayerSkillTree.cs create mode 100644 3D blobici/Assets/Scripts/Player/PlayerSkillTree.cs.meta create mode 100644 3D blobici/Assets/Sprites.meta create mode 100644 3D blobici/Assets/Sprites/Cards.meta create mode 100644 3D blobici/Assets/Sprites/Cards/Card.meta rename 3D blobici/Assets/{Karts => Sprites/Cards/Card}/Karta.asset (75%) rename 3D blobici/Assets/{Karts => Sprites/Cards/Card}/Karta.asset.meta (100%) rename 3D blobici/Assets/{Karts => Sprites/Cards/Card}/Karta.png (100%) rename 3D blobici/Assets/{Karts => Sprites/Cards/Card}/Karta.png.meta (72%) diff --git a/3D blobici/Assets/Karts/Karta.prefab b/3D blobici/Assets/Karts/Karta.prefab deleted file mode 100644 index 9e24abb..0000000 --- a/3D blobici/Assets/Karts/Karta.prefab +++ /dev/null @@ -1,135 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5861681740212649692 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2830774583019497428} - - component: {fileID: 2511242960825860851} - - component: {fileID: 1216791679854155289} - - component: {fileID: 7799236963938897308} - m_Layer: 0 - m_Name: Canvas - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!224 &2830774583019497428 -RectTransform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5861681740212649692} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0, y: 0, z: 0} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2039702821354272895} - 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: 0, y: 0} - m_Pivot: {x: 0, y: 0} ---- !u!223 &2511242960825860851 -Canvas: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5861681740212649692} - m_Enabled: 1 - serializedVersion: 3 - m_RenderMode: 0 - m_Camera: {fileID: 0} - m_PlaneDistance: 100 - m_PixelPerfect: 0 - m_ReceivesEvents: 1 - m_OverrideSorting: 0 - m_OverridePixelPerfect: 0 - m_SortingBucketNormalizedSize: 0 - m_VertexColorAlwaysGammaSpace: 0 - m_AdditionalShaderChannelsFlag: 0 - m_UpdateRectTransformForStandalone: 0 - m_SortingLayerID: 0 - m_SortingOrder: 0 - m_TargetDisplay: 0 ---- !u!114 &1216791679854155289 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5861681740212649692} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3} - m_Name: - m_EditorClassIdentifier: - m_UiScaleMode: 0 - m_ReferencePixelsPerUnit: 100 - m_ScaleFactor: 1 - m_ReferenceResolution: {x: 800, y: 600} - m_ScreenMatchMode: 0 - m_MatchWidthOrHeight: 0 - m_PhysicalUnit: 3 - m_FallbackScreenDPI: 96 - m_DefaultSpriteDPI: 96 - m_DynamicPixelsPerUnit: 1 - m_PresetInfoIsWorld: 0 ---- !u!114 &7799236963938897308 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5861681740212649692} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3} - m_Name: - m_EditorClassIdentifier: - m_IgnoreReversedGraphics: 1 - m_BlockingObjects: 0 - m_BlockingMask: - serializedVersion: 2 - m_Bits: 4294967295 ---- !u!1 &6303840812135513550 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2039702821354272895} - m_Layer: 0 - m_Name: Karta - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2039702821354272895 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6303840812135513550} - 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} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2830774583019497428} - m_Father: {fileID: 0} - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/3D blobici/Assets/Karts.meta b/3D blobici/Assets/Prefabs/Cards.meta similarity index 77% rename from 3D blobici/Assets/Karts.meta rename to 3D blobici/Assets/Prefabs/Cards.meta index ff69bc9..da41540 100644 --- a/3D blobici/Assets/Karts.meta +++ b/3D blobici/Assets/Prefabs/Cards.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 551104d179500d84c95a338c60bee8b2 +guid: 346499fc5d3a6fb42a8bcf0e3d882899 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard.prefab b/3D blobici/Assets/Prefabs/Cards/DashCard.prefab new file mode 100644 index 0000000..8b93972 --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2718716012460538970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2833072829495001486} + - component: {fileID: 2243235194942163867} + - component: {fileID: 5536931752888789564} + - component: {fileID: 8584531079911333540} + - component: {fileID: 8745221842350856336} + m_Layer: 0 + m_Name: DashCard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2833072829495001486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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_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: 250, y: 450} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2243235194942163867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8584531079911333540} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &5536931752888789564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_CullTransparentMesh: 1 +--- !u!114 &8584531079911333540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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: 6741e6d8aef668c419af68dee3cf8b4a, 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!114 &8745221842350856336 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0da9907611db3a04382aa4902957927c, type: 3} + m_Name: + m_EditorClassIdentifier: + cardname: Test + skill: 0 diff --git a/3D blobici/Assets/Karts/Karta.prefab.meta b/3D blobici/Assets/Prefabs/Cards/DashCard.prefab.meta similarity index 74% rename from 3D blobici/Assets/Karts/Karta.prefab.meta rename to 3D blobici/Assets/Prefabs/Cards/DashCard.prefab.meta index 4f32e98..53e5aac 100644 --- a/3D blobici/Assets/Karts/Karta.prefab.meta +++ b/3D blobici/Assets/Prefabs/Cards/DashCard.prefab.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 32de3ad7911b479469ad73c4ff81345e +guid: f3cf9d683c6a18447ae6a1dc57ae28d5 PrefabImporter: externalObjects: {} userData: diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab b/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab new file mode 100644 index 0000000..14f3ccb --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2718716012460538970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2833072829495001486} + - component: {fileID: 2243235194942163867} + - component: {fileID: 5536931752888789564} + - component: {fileID: 8584531079911333540} + - component: {fileID: 2650074452851025937} + m_Layer: 0 + m_Name: DashCard1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2833072829495001486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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_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: 250, y: 450} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2243235194942163867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8584531079911333540} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &5536931752888789564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_CullTransparentMesh: 1 +--- !u!114 &8584531079911333540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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: 6741e6d8aef668c419af68dee3cf8b4a, 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!114 &2650074452851025937 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0da9907611db3a04382aa4902957927c, type: 3} + m_Name: + m_EditorClassIdentifier: + cardname: Test2 + skill: 1 diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab.meta b/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab.meta new file mode 100644 index 0000000..a80756e --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard1.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f18c87f66ef0458478c34abf2c27e0c1 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab b/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab new file mode 100644 index 0000000..68b81e7 --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2718716012460538970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2833072829495001486} + - component: {fileID: 2243235194942163867} + - component: {fileID: 5536931752888789564} + - component: {fileID: 8584531079911333540} + - component: {fileID: -4481509009851936088} + m_Layer: 0 + m_Name: DashCard2 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2833072829495001486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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_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: 250, y: 450} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2243235194942163867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8584531079911333540} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &5536931752888789564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_CullTransparentMesh: 1 +--- !u!114 &8584531079911333540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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: 6741e6d8aef668c419af68dee3cf8b4a, 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!114 &-4481509009851936088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0da9907611db3a04382aa4902957927c, type: 3} + m_Name: + m_EditorClassIdentifier: + cardname: TETE + skill: 2 diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab.meta b/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab.meta new file mode 100644 index 0000000..a415102 --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard2.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4b296bbf922e87547a1c0639f9ae5306 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab b/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab new file mode 100644 index 0000000..64ae84e --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab @@ -0,0 +1,137 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &2718716012460538970 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2833072829495001486} + - component: {fileID: 2243235194942163867} + - component: {fileID: 5536931752888789564} + - component: {fileID: 8584531079911333540} + - component: {fileID: -4481509009851936088} + m_Layer: 0 + m_Name: DashCard3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2833072829495001486 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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_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: 250, y: 450} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &2243235194942163867 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 8584531079911333540} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!222 &5536931752888789564 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_CullTransparentMesh: 1 +--- !u!114 &8584531079911333540 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + 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: 6741e6d8aef668c419af68dee3cf8b4a, 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!114 &-4481509009851936088 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2718716012460538970} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0da9907611db3a04382aa4902957927c, type: 3} + m_Name: + m_EditorClassIdentifier: + cardname: TETE + skill: 3 diff --git a/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab.meta b/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab.meta new file mode 100644 index 0000000..a38f7c4 --- /dev/null +++ b/3D blobici/Assets/Prefabs/Cards/DashCard3.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 41bc361959173964e843a2e6bc2bf09a +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/3D blobici/Assets/Levels/MapLayout1.asset b/3D blobici/Assets/Prefabs/Levels/MapLayout1.asset similarity index 100% rename from 3D blobici/Assets/Levels/MapLayout1.asset rename to 3D blobici/Assets/Prefabs/Levels/MapLayout1.asset diff --git a/3D blobici/Assets/Levels/MapLayout1.asset.meta b/3D blobici/Assets/Prefabs/Levels/MapLayout1.asset.meta similarity index 100% rename from 3D blobici/Assets/Levels/MapLayout1.asset.meta rename to 3D blobici/Assets/Prefabs/Levels/MapLayout1.asset.meta diff --git a/3D blobici/Assets/Prefabs/PlayerContainer.prefab b/3D blobici/Assets/Prefabs/PlayerContainer.prefab index ffa348c..c418461 100644 --- a/3D blobici/Assets/Prefabs/PlayerContainer.prefab +++ b/3D blobici/Assets/Prefabs/PlayerContainer.prefab @@ -12,6 +12,7 @@ GameObject: - component: {fileID: 9192292969203387642} - component: {fileID: 1030185587407834460} - component: {fileID: 1542319922315403782} + - component: {fileID: 4745202387735708878} m_Layer: 0 m_Name: UI Canvas m_TagString: Untagged @@ -32,6 +33,7 @@ RectTransform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 8991658504906099272} + - {fileID: 1831891111370080197} m_Father: {fileID: 1302341320372733696} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} @@ -102,6 +104,24 @@ MonoBehaviour: m_BlockingMask: serializedVersion: 2 m_Bits: 4294967295 +--- !u!114 &4745202387735708878 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1246198998110393468} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac4402de23efee441a6fe1c443a1f3ed, type: 3} + m_Name: + m_EditorClassIdentifier: + cardPrefabs: + - {fileID: 2718716012460538970, guid: f3cf9d683c6a18447ae6a1dc57ae28d5, type: 3} + - {fileID: 2718716012460538970, guid: f18c87f66ef0458478c34abf2c27e0c1, type: 3} + - {fileID: 2718716012460538970, guid: 4b296bbf922e87547a1c0639f9ae5306, type: 3} + - {fileID: 2718716012460538970, guid: 41bc361959173964e843a2e6bc2bf09a, type: 3} + cardsParent: {fileID: 1831891111370080197} --- !u!1 &2520153335582361885 GameObject: m_ObjectHideFlags: 0 @@ -188,6 +208,46 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &3041196932494545810 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1831891111370080197} + - component: {fileID: 495196005240376662} + m_Layer: 0 + m_Name: Cards + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1831891111370080197 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3041196932494545810} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -400, z: 0} + m_LocalScale: {x: 3, y: 3, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 8807664616337023072} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!222 &495196005240376662 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3041196932494545810} + m_CullTransparentMesh: 1 --- !u!1 &3653993672432327505 GameObject: m_ObjectHideFlags: 0 diff --git a/3D blobici/Assets/Scenes/GenTest.unity b/3D blobici/Assets/Scenes/GenTest.unity index 35a6690..cfbe660 100644 --- a/3D blobici/Assets/Scenes/GenTest.unity +++ b/3D blobici/Assets/Scenes/GenTest.unity @@ -176,8 +176,77 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1862002347 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1862002350} + - component: {fileID: 1862002349} + - component: {fileID: 1862002348} + m_Layer: 0 + m_Name: EventSystem + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1862002348 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862002347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4f231c4fb786f3946a6b90b886c48677, type: 3} + m_Name: + m_EditorClassIdentifier: + m_SendPointerHoverToParent: 1 + m_HorizontalAxis: Horizontal + m_VerticalAxis: Vertical + m_SubmitButton: Submit + m_CancelButton: Cancel + m_InputActionsPerSecond: 10 + m_RepeatDelay: 0.5 + m_ForceModuleActive: 0 +--- !u!114 &1862002349 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862002347} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 76c392e42b5098c458856cdf6ecaaaa1, type: 3} + m_Name: + m_EditorClassIdentifier: + m_FirstSelected: {fileID: 0} + m_sendNavigationEvents: 1 + m_DragThreshold: 10 +--- !u!4 &1862002350 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1862002347} + 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} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 m_Roots: - {fileID: 23489964} + - {fileID: 1862002350} diff --git a/3D blobici/Assets/Levels.meta b/3D blobici/Assets/Scripts/Cards.meta similarity index 77% rename from 3D blobici/Assets/Levels.meta rename to 3D blobici/Assets/Scripts/Cards.meta index e60f0a5..0c4530e 100644 --- a/3D blobici/Assets/Levels.meta +++ b/3D blobici/Assets/Scripts/Cards.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a08c64b8785870549887368e2a81e2db +guid: 96b8a58e3e105b8449af86511eb40528 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/3D blobici/Assets/Scripts/Cards/CardManager.cs b/3D blobici/Assets/Scripts/Cards/CardManager.cs new file mode 100644 index 0000000..f5e3c74 --- /dev/null +++ b/3D blobici/Assets/Scripts/Cards/CardManager.cs @@ -0,0 +1,97 @@ +using UnityEngine; +using System.Collections.Generic; +using System.Linq; +using System; + +public class CardManager : MonoBehaviour +{ + public static CardManager Instance; + + [SerializeField] private List cardPrefabs; + [SerializeField] private Transform cardsParent; + + private PlayerSkillTree playerSkillTree; + private GameObject cards; + + + private void Awake() + { + if (Instance == null) + { + Instance = this; + } + else + { + Destroy(gameObject); + } + } + + private void Start() + { + playerSkillTree = PlayerSkillTree.Instance; + cards = GameObject.Find("Cards"); + cards.SetActive(false); + } + + public void Update() + { + if (Input.GetKeyDown(KeyCode.V)) + { + cards.SetActive(true); + ShowRandomCards(3); + } + } + + public void ShowRandomCards(int count) + { + var unlockedSkills = playerSkillTree.GetPlayerSkills(); + + // Projdeme všechny prefaby a zkontrolujeme jejich skill + var availableCards = cardPrefabs + .Select(x => x.GetComponent()) + .Where(x => x != null && !unlockedSkills.Contains(x.Skill)) + .ToList(); + + + // Vyčistíme staré karty + foreach (Transform child in cardsParent) + { + Destroy(child.gameObject); + } + + // Vybereme náhodné karty + var shuffled = availableCards.OrderBy(x => UnityEngine.Random.value).Take(count).ToList(); + + Debug.Log($"Showing cards: {string.Join(", ", shuffled.Select(x => x.Skill))}"); + Debug.Log($"Available cards: {string.Join(", ", availableCards.Select(x => x.Skill))}"); + Debug.Log($"Unlocked skills: {string.Join(", ", unlockedSkills)}"); + + int xOffset = -800; + if (availableCards.Count < 3) + { + xOffset = -400; + } + + foreach (var cardUI in shuffled) + { + var newCard = Instantiate(cardUI.gameObject, cardsParent.position + new Vector3(xOffset, 0, 0), Quaternion.identity, cardsParent); + xOffset += 800; + } + } + + public void SelectCard(PlayerSkillTree.Skills skill) + { + playerSkillTree.UnlockSkill(skill); + + foreach (Transform child in cardsParent) + { + var cardUI = child.GetComponent(); + if (cardUI.Skill == skill) + { + Destroy(child.gameObject); + } + } + + cards.SetActive(false); + } +} \ No newline at end of file diff --git a/3D blobici/Assets/Scripts/Cards/CardManager.cs.meta b/3D blobici/Assets/Scripts/Cards/CardManager.cs.meta new file mode 100644 index 0000000..b850663 --- /dev/null +++ b/3D blobici/Assets/Scripts/Cards/CardManager.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ac4402de23efee441a6fe1c443a1f3ed \ No newline at end of file diff --git a/3D blobici/Assets/Scripts/Cards/CardUI.cs b/3D blobici/Assets/Scripts/Cards/CardUI.cs new file mode 100644 index 0000000..77611ef --- /dev/null +++ b/3D blobici/Assets/Scripts/Cards/CardUI.cs @@ -0,0 +1,23 @@ +using UnityEngine; +using UnityEngine.UI; +using TMPro; + +public class CardUI : MonoBehaviour +{ + [SerializeField] private string cardname; + [SerializeField] private PlayerSkillTree.Skills skill; + + public PlayerSkillTree.Skills Skill { get => skill; private set => skill = value; } + public string Name { get => cardname; private set => cardname = value; } + + private void Start() + { + Skill = skill; + GetComponent