From 62d40f5467a43b0ab3d4b836f5b60d0f2254c4d5 Mon Sep 17 00:00:00 2001 From: "FRANKWALTERSTEI\\bib" Date: Tue, 3 Feb 2026 11:38:36 +0100 Subject: [PATCH] Shop ist jetzt funktional in der MainMenueScene --- Assets/Scenes/MainMenue.unity | 221 ++++++++++-------- Assets/Scripts/Button Functions/ShopScript.cs | 93 ++++++-- Assets/Scripts/Player/InventoryScript.cs | 4 +- 3 files changed, 200 insertions(+), 118 deletions(-) diff --git a/Assets/Scenes/MainMenue.unity b/Assets/Scenes/MainMenue.unity index 742ec14..f7de56f 100644 --- a/Assets/Scenes/MainMenue.unity +++ b/Assets/Scenes/MainMenue.unity @@ -201,7 +201,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: OpenShop m_Mode: 1 @@ -639,7 +639,7 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -784,7 +784,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: AddLife m_Mode: 1 @@ -1174,7 +1174,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: CloseDevPanel m_Mode: 1 @@ -1315,6 +1315,7 @@ GameObject: - component: {fileID: 486346479} - component: {fileID: 486346478} - component: {fileID: 486346477} + - component: {fileID: 486346480} m_Layer: 5 m_Name: TextMoneten m_TagString: Untagged @@ -1377,7 +1378,7 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -1440,6 +1441,21 @@ RectTransform: m_AnchoredPosition: {x: 0, y: -102} m_SizeDelta: {x: 200, y: 50} m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &486346480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 486346476} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5973ed7f2e7a3374d97418dafd88e753, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::InventoryScript + energy: 0 + health: 0 + gems: 0 --- !u!1 &561033674 GameObject: m_ObjectHideFlags: 0 @@ -1595,7 +1611,7 @@ MonoBehaviour: m_fontSizeMax: 72 m_fontStyle: 0 m_HorizontalAlignment: 1 - m_VerticalAlignment: 256 + m_VerticalAlignment: 512 m_textAlignment: 65535 m_characterSpacing: 0 m_wordSpacing: 0 @@ -1819,6 +1835,9 @@ GameObject: - component: {fileID: 640078692} - component: {fileID: 640078694} - component: {fileID: 640078693} + - component: {fileID: 640078695} + - component: {fileID: 640078696} + - component: {fileID: 640078697} m_Layer: 5 m_Name: PanelBackground m_TagString: Untagged @@ -1883,6 +1902,101 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 640078691} m_CullTransparentMesh: 1 +--- !u!114 &640078695 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640078691} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5973ed7f2e7a3374d97418dafd88e753, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::InventoryScript + energy: 3 + health: 3 + gems: 500 +--- !u!114 &640078696 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640078691} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1a63d792debb71643a4072a0cc116dbe, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::ShopScript + shopPanel: {fileID: 1086179192} + errorPanel: {fileID: 214291183} + backgroundPanel: {fileID: 640078691} + paymentSystemActive: 0 + textfeld: {fileID: 1155050246} + devPanel: {fileID: 1757621470} + textfeldA: {fileID: 568460950} + textfeldB: {fileID: 268415208} + textfeldC: {fileID: 486346477} + errorText: {fileID: 1937164643} +--- !u!212 &640078697 +SpriteRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 640078691} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RayTracingAccelStructBuildFlagsOverride: 0 + m_RayTracingAccelStructBuildFlags: 1 + m_SmallMeshCulling: 1 + m_ForceMeshLod: -1 + m_MeshLodSelectionBias: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_GlobalIlluminationMeshLod: 0 + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Sprite: {fileID: 21300000, guid: de50d1f4106f65545921a17c92cf0250, type: 3} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_FlipX: 0 + m_FlipY: 0 + m_DrawMode: 0 + m_Size: {x: 2.56, y: 2.56} + m_AdaptiveModeThreshold: 0.5 + m_SpriteTileMode: 0 + m_WasSpriteAssigned: 1 + m_MaskInteraction: 0 + m_SpriteSortPoint: 0 --- !u!1 &846914925 GameObject: m_ObjectHideFlags: 0 @@ -1965,7 +2079,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: ShowDevMode m_Mode: 1 @@ -2073,8 +2187,6 @@ GameObject: - component: {fileID: 1086179193} - component: {fileID: 1086179195} - component: {fileID: 1086179194} - - component: {fileID: 1086179196} - - component: {fileID: 1086179197} m_Layer: 5 m_Name: PanelShop m_TagString: Untagged @@ -2140,83 +2252,6 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1086179192} m_CullTransparentMesh: 1 ---- !u!114 &1086179196 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1086179192} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1a63d792debb71643a4072a0cc116dbe, type: 3} - m_Name: - m_EditorClassIdentifier: Assembly-CSharp::ShopScript - shopPanel: {fileID: 1086179192} - errorPanel: {fileID: 214291183} - textfeld: {fileID: 1155050246} - devPanel: {fileID: 1757621470} - textfeldA: {fileID: 568460950} - textfeldB: {fileID: 268415208} - textfeldC: {fileID: 486346477} ---- !u!212 &1086179197 -SpriteRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1086179192} - m_Enabled: 1 - m_CastShadows: 0 - m_ReceiveShadows: 0 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 0 - m_RayTraceProcedural: 0 - m_RayTracingAccelStructBuildFlagsOverride: 0 - m_RayTracingAccelStructBuildFlags: 1 - m_SmallMeshCulling: 1 - m_ForceMeshLod: -1 - m_MeshLodSelectionBias: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 9dfc825aed78fcd4ba02077103263b40, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 0 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_GlobalIlluminationMeshLod: 0 - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_Sprite: {fileID: 21300000, guid: 4d2a4136ebef6f041b43fdca42412caa, type: 3} - m_Color: {r: 1, g: 1, b: 1, a: 1} - m_FlipX: 0 - m_FlipY: 0 - m_DrawMode: 0 - m_Size: {x: 2.56, y: 2.56} - m_AdaptiveModeThreshold: 0.5 - m_SpriteTileMode: 0 - m_WasSpriteAssigned: 1 - m_MaskInteraction: 0 - m_SpriteSortPoint: 0 --- !u!1 &1102325228 GameObject: m_ObjectHideFlags: 0 @@ -2963,7 +2998,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: ClosePanel m_Mode: 1 @@ -3095,7 +3130,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: OpenShop m_Mode: 1 @@ -3227,7 +3262,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: BuyGems m_Mode: 1 @@ -3518,7 +3553,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: CloseShop m_Mode: 1 @@ -3786,7 +3821,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: ChangeActivation m_Mode: 1 @@ -3918,7 +3953,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: AddEnergy m_Mode: 1 @@ -4050,7 +4085,7 @@ MonoBehaviour: m_OnClick: m_PersistentCalls: m_Calls: - - m_Target: {fileID: 1086179196} + - m_Target: {fileID: 640078696} m_TargetAssemblyTypeName: ShopScript, Assembly-CSharp m_MethodName: BuyMore m_Mode: 1 diff --git a/Assets/Scripts/Button Functions/ShopScript.cs b/Assets/Scripts/Button Functions/ShopScript.cs index a69045a..a792ef0 100644 --- a/Assets/Scripts/Button Functions/ShopScript.cs +++ b/Assets/Scripts/Button Functions/ShopScript.cs @@ -1,6 +1,7 @@ using System.Xml.Serialization; using TMPro; using Unity.VisualScripting; +using Unity.VisualScripting.Antlr3.Runtime; using UnityEngine; using UnityEngine.U2D; @@ -8,8 +9,9 @@ public class ShopScript : MonoBehaviour { [SerializeField] GameObject shopPanel; [SerializeField] GameObject errorPanel; + [SerializeField] GameObject backgroundPanel; - private bool paymentSystemActive = false; + [SerializeField]public bool paymentSystemActive = false; //TMP_Text textfeld; [SerializeField] TMP_Text textfeld; @@ -32,12 +34,17 @@ public class ShopScript : MonoBehaviour [SerializeField] TMP_Text textfeldA; //als text [SerializeField] TMP_Text textfeldB; [SerializeField] TMP_Text textfeldC; + [SerializeField] TMP_Text errorText; + #endregion - + private void Awake() + { + inventory = backgroundPanel.GetComponent(); + + } void Start() { - InventoryScript inventory = GetComponent(); shopPanel.SetActive(false); errorPanel.SetActive(false); @@ -50,9 +57,11 @@ public class ShopScript : MonoBehaviour { textfeld.text = inventory.Gems.ToString(); + + textfeldA.text = inventory.Energy.ToString(); + textfeldB.text = inventory.Health.ToString(); + textfeldC.text = moneten.ToString(); - - ShowDevMode(); } public void OpenShop() @@ -72,29 +81,57 @@ public class ShopScript : MonoBehaviour public void AddLife() { - inventory.Health++; + + if (inventory.Gems - updateCost < 0) + { + errorText.text = "Not enough gems!"; + } - inventory.Gems -= updateCost; + else + { + inventory.Health++; + + inventory.Gems -= updateCost; + } } public void AddEnergy() { - inventory.Energy++; + if (inventory.Gems - updateCost <0) + { + errorText.text = "Not enough gems!"; + } - inventory.Gems -= updateCost; + else + { + inventory.Energy++; + + inventory.Gems -= updateCost; + } } public void BuyGems() { if (paymentSystemActive) { - moneten -= gemsCost; - Debug.Log("Ich mag Moeneten"); + + if (moneten - gemsCost <= 0) + { + errorText.text = "Payment System inactive!"; + } + + else + { + moneten -= gemsCost; + Debug.Log("Ich mag Moeneten"); + inventory.Gems += 100; + } } else { errorPanel.SetActive(true); + errorText.text = "Payment System inactive!"; } } @@ -103,13 +140,23 @@ public class ShopScript : MonoBehaviour if (paymentSystemActive) { - moneten -= manyGemsCost; - Debug.Log("Ich mag Moeneten"); - } + if (moneten - manyGemsCost <= 0) + { + errorText.text = "Payment System inactive!"; + } + else + { + moneten -= manyGemsCost; + Debug.Log("Ich mag Moeneten"); + + inventory.Gems += 200; + } + } else { errorPanel.SetActive(true); + errorText.text = "Payment System inactive!"; } } @@ -121,26 +168,26 @@ public class ShopScript : MonoBehaviour //textfeldB = textB; //textfeldC = textC; - textfeldA.text = inventory.Energy.ToString(); - textfeldB.text = inventory.Health.ToString(); - textfeldC.text = moneten.ToString(); + //textfeldA.text = inventory.Energy.ToString(); + //textfeldB.text = inventory.Health.ToString(); + //textfeldC.text = moneten.ToString(); } public void ChangeActivation() { SpriteRenderer spriteRenderer = GetComponent(); - if (paymentSystemActive) + if (!paymentSystemActive) { - paymentSystemActive = false; - - spriteRenderer.sprite = Resources.Load("T_11_no.png"); + paymentSystemActive = true; + spriteRenderer.sprite = Resources.Load("T_12_ok.png"); } else { - paymentSystemActive = true; - spriteRenderer.sprite = Resources.Load("T_12_ok.png"); + paymentSystemActive = false; + + spriteRenderer.sprite = Resources.Load("T_11_no.png"); } } diff --git a/Assets/Scripts/Player/InventoryScript.cs b/Assets/Scripts/Player/InventoryScript.cs index c9c0012..7922917 100644 --- a/Assets/Scripts/Player/InventoryScript.cs +++ b/Assets/Scripts/Player/InventoryScript.cs @@ -9,7 +9,7 @@ public class InventoryScript : MonoBehaviour [SerializeField] int health = 1; //Gems - [SerializeField] int gems; + [SerializeField] int gems = 100; public InventoryScript(int energy, int health, int gems) @@ -25,7 +25,7 @@ public class InventoryScript : MonoBehaviour void Start() { - Gems = 10; + } void Update()