diff --git a/.godot/editor/create_recent.Node b/.godot/editor/create_recent.Node index 8fddfd9f7b34fbc9a841ff024a5bc0007638c8a8..d6ecb0400e1af4339fae607f977a06d89fc7825a 100644 --- a/.godot/editor/create_recent.Node +++ b/.godot/editor/create_recent.Node @@ -1,9 +1,9 @@ +Button Label ColorRect TextureRect HBoxContainer MarginContainer -Button VBoxContainer PanelContainer Node2D diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg index 0727ffe2568147209e4cc23e47dd069fa5a98ff2..79daf90f5955389d9ce1a38f76cdc3160ea92ee1 100644 --- a/.godot/editor/editor_layout.cfg +++ b/.godot/editor/editor_layout.cfg @@ -27,7 +27,7 @@ dock_5="Inspector,Node,History" [EditorNode] open_scenes=PackedStringArray("res://scenes/game.tscn", "res://main.tscn", "res://scenes/Shop.tscn", "res://scenes/ShopItem.tscn") -current_scene="res://scenes/ShopItem.tscn" +current_scene="res://scenes/Shop.tscn" center_split_offset=-319 selected_default_debugger_tab_idx=0 selected_main_editor_idx=2 @@ -36,7 +36,7 @@ selected_bottom_panel_item=0 [ScriptEditor] open_scripts=["res://scripts/game.gd", "res://README.md", "res://scripts/scene_manager.gd", "res://scripts/Shop.gd", "res://scenes/shop_item.gd"] -selected_script="res://scripts/game.gd" +selected_script="res://scripts/Shop.gd" open_help=[] script_split_offset=70 list_split_offset=0 diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8 index d97e4c9a4b26db1d19d02459aba8f280f75edd4e..a4a0d4531e300d29c5875f0458d79d79c8ae818b 100644 --- a/.godot/editor/filesystem_cache8 +++ b/.godot/editor/filesystem_cache8 @@ -1,10 +1,9 @@ ea4bc82a6ad023ab7ee23ee620429895 -::res://::1738955541 +::res://::1739034531 export_presets.cfg::TextFile::-1::1738780181::0::1::::<><>:: icon.svg::CompressedTexture2D::6378281210119878262::1737912187::1738338716::1::::<><>:: -main.tscn::PackedScene::5692118487183161714::1738955360::0::1::::<><>::uid://cu7lkx15lmfww::::res://scenes/scene_manager.tscn +main.tscn::PackedScene::5692118487183161714::1738973822::0::1::::<><>::uid://cu7lkx15lmfww::::res://scenes/scene_manager.tscn README.md::TextFile::-1::1737912187::0::1::::<><>:: -Shop.tscn::PackedScene::6176556733226555776::1738955541::0::1::::<><>::res://scripts/Shop.gd ::res://assets/::1738358720 ::res://assets/noise/::1738954380 noise2.tres::NoiseTexture2D::5054739835828921764::1738954380::0::1::::<><>:: @@ -79,11 +78,11 @@ Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738358720::17 play_button.png::CompressedTexture2D::5896995890187459238::1738707261::1738707284::1::::<><>:: quit_button.png::CompressedTexture2D::5172428563227279585::1738707261::1738707284::1::::<><>:: rules_button.png::CompressedTexture2D::8060955005205795067::1738707261::1738707284::1::::<><>:: -::res://scenes/::1738955453 +::res://scenes/::1738973822 Assassin.tscn::PackedScene::1241611789899982875::1738377694::0::1::::<><>::res://scripts/Assassin.gd<>uid://753dogr1moxe::::res://assets/temp_assets/assassin.png Bishop.tscn::PackedScene::2789588702038144760::1738377693::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png explosion.tscn::PackedScene::69466253159940830::1738377693::0::1::::<><>:: -game.tscn::PackedScene::8577524005707705072::1738955453::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres +game.tscn::PackedScene::8577524005707705072::1738973822::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres King.tscn::PackedScene::8277830396459966414::1738377693::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png Knight.tscn::PackedScene::5270730075267457303::1738377694::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png Mage.tscn::PackedScene::10334063134713649::1738377694::0::1::::<><>::res://scripts/Mage.gd<>uid://b7iyt4iwjbtd0::::res://assets/temp_assets/mage.png @@ -91,15 +90,18 @@ Pawn.tscn::PackedScene::3675784333675896641::1738377693::0::1::::<><>::res://scr Queen.tscn::PackedScene::7495869360053814603::1738377693::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png Rook.tscn::PackedScene::9162401199636684468::1738377693::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png scene_manager.tscn::PackedScene::6243365322716451430::1738707261::0::1::::<><>::res://scripts/scene_manager.gd +Shop.tscn::PackedScene::6176556733226555776::1738973822::0::1::::<><>::res://scripts/Shop.gd +ShopItem.tscn::PackedScene::5426615772503019706::1738973822::0::1::::<><>::res://scenes/shop_item.gd +shop_item.gd::GDScript::-1::1738972344::0::1::::<>PanelContainer<>:: texture_holder.tscn::PackedScene::594714386286134588::1738358720::0::1::::<><>:: title_screen.tscn::PackedScene::8154710134031658440::1738707261::0::1::::<><>::res://scripts/title_screen/title_screen.gd<>uid://bm8sv1itwm467::::res://scenes/ui/menu_button.tscn Wizard.tscn::PackedScene::6352212773395470747::1738377694::0::1::::<><>::res://scripts/Wizard.gd<>uid://bfk1j3brcknkp::::res://assets/temp_assets/wizard.png ::res://scenes/ui/::1738707261 menu_button.tscn::PackedScene::3297943059633979218::1738707261::0::1::::<><>::res://assets/shaders/3d_effect.gdshader<>res://scripts/title_screen/menu_button.gd -::res://scripts/::1738955541 +::res://scripts/::1738973822 Assassin.gd::GDScript::-1::1738373911::0::1::::Assassin<>Piece<>:: Bishop.gd::GDScript::-1::1738376561::0::1::::Bishop<>Piece<>:: -game.gd::GDScript::-1::1738955443::0::1::::game<>Node<>:: +game.gd::GDScript::-1::1738973822::0::1::::game<>Node<>:: King.gd::GDScript::-1::1738373926::0::1::::King<>Piece<>:: Knight.gd::GDScript::-1::1738375042::0::1::::Knight<>Piece<>:: Mage.gd::GDScript::-1::1738373960::0::1::::Mage<>Piece<>:: @@ -108,7 +110,7 @@ Piece.gd::GDScript::-1::1738376307::0::1::::Piece<>Node2D<>:: Queen.gd::GDScript::-1::1738373933::0::1::::Queen<>Piece<>:: Rook.gd::GDScript::-1::1738373976::0::1::::Rook<>Piece<>:: scene_manager.gd::GDScript::-1::1738707261::0::1::::<>Node<>:: -Shop.gd::GDScript::-1::1738955422::0::1::::<>Node2D<>:: +Shop.gd::GDScript::-1::1738973768::0::1::::<>Node2D<>:: Wizard.gd::GDScript::-1::1738373837::0::1::::Wizard<>Piece<>:: ::res://scripts/title_screen/::1738707261 menu_button.gd::GDScript::-1::1738707261::0::1::::TitleButton<>Button<>:: diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4 index 21c9f9399b2c2beb986379113c68f0b842f284e0..622f057a08941d69d69c3d519f1e1e89f2e683fc 100644 --- a/.godot/editor/filesystem_update4 +++ b/.godot/editor/filesystem_update4 @@ -1,23 +1,13 @@ +res://scripts/game.gd +res://scenes/game.tscn res://assets/shaders/bg.gdshader res://assets/noise/noise.tres res://assets/noise/noise2.tres res://assets/noise/noise3.tres -res://Shop.tscn -res://Shop.gd -res://scripts/game.gd -res://scenes/game.tscn res://main.tscn res://scenes/Shop.tscn -res://scripts/Shop.gd res://scenes/ShopItem.tscn -res://scripts/Piece.gd -res://scripts/Pawn.gd -res://scripts/Rook.gd -res://scripts/Bishop.gd -res://scripts/Queen.gd -res://scripts/King.gd -res://scripts/Knight.gd -res://scripts/Assassin.gd -res://scripts/Mage.gd -res://scripts/Wizard.gd res://scenes/shop_item.gd +res://scripts/Shop.gd +res://scripts/Pawn.gd +res://scripts/Piece.gd diff --git a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg index 3acd289e16a35bd2066572357b1462e83e5d0a42..c8d0f620821b8025435981431847039648a1e965 100644 --- a/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg +++ b/.godot/editor/game.tscn-editstate-c2a7af834e91ff64325daddf58e45dc0.cfg @@ -175,4 +175,4 @@ Anim={ "zfar": 4000.01, "znear": 0.05 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16886/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9272/@VSplitContainer@9094/@HSplitContainer@9096/@HSplitContainer@9098/@Control@9099/@SubViewportContainer@9100/@SubViewport@9101/ShopItem")]) +selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16886/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9272/@VSplitContainer@9094/@HSplitContainer@9096/@HSplitContainer@9098/@Control@9099/@SubViewportContainer@9100/@SubViewport@9101/Shop/MainContainer/RowsContainer/BottomSection/ResetShopButton")]) diff --git a/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg b/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg index 839fabb1a72bf72ef7ed3248b6c87504a7d6bb21..0a0bc15d815eaaa0fdac9f827c6e83eef4221b6f 100644 --- a/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg +++ b/.godot/editor/main.tscn-editstate-3070c538c03ee49b7677ff960a3f5195.cfg @@ -175,4 +175,4 @@ Anim={ "zfar": 4000.01, "znear": 0.05 } -selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16886/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9272/@VSplitContainer@9094/@HSplitContainer@9096/@HSplitContainer@9098/@Control@9099/@SubViewportContainer@9100/@SubViewport@9101/ShopItem")]) +selected_nodes=Array[NodePath]([NodePath("/root/@EditorNode@16886/@Panel@13/@VBoxContainer@14/DockHSplitLeftL/DockHSplitLeftR/DockHSplitMain/@VBoxContainer@25/DockVSplitCenter/@VSplitContainer@52/@VBoxContainer@53/@PanelContainer@98/MainScreen/@CanvasItemEditor@9272/@VSplitContainer@9094/@HSplitContainer@9096/@HSplitContainer@9098/@Control@9099/@SubViewportContainer@9100/@SubViewport@9101/Shop/MainContainer/RowsContainer/BottomSection/ResetShopButton")]) diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg index d05792b31b2ac7fec0b439bf54680dbe92159591..67e6dc1c29f04b9ae0e2345b2df028bbecc49e43 100644 --- a/.godot/editor/project_metadata.cfg +++ b/.godot/editor/project_metadata.cfg @@ -11,7 +11,7 @@ create_new_node=Rect2(2430, 190, 900, 700) [recent_files] -scenes=["res://scenes/ShopItem.tscn", "res://Shop.tscn", "res://main.tscn", "res://scenes/game.tscn"] +scenes=["res://scenes/ShopItem.tscn", "res://scenes/Shop.tscn", "res://main.tscn", "res://scenes/game.tscn", "res://Shop.tscn"] scripts=["res://scenes/shop_item.gd", "res://scripts/scene_manager.gd", "res://scripts/game.gd", "res://Shop.gd", "res://README.md"] [script_setup] diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg index 050b59c02a3a36737188c1c5526e00af4629f2b9..76707b985c90a51e246924f5b65dda53e747ee33 100644 --- a/.godot/editor/script_editor_cache.cfg +++ b/.godot/editor/script_editor_cache.cfg @@ -21,7 +21,7 @@ state={ "folded_lines": Array[int]([]), "h_scroll_position": 0, "row": 52, -"scroll_position": 41.0, +"scroll_position": 56.0, "selection": false, "syntax_highlighter": "GDScript" } @@ -31,11 +31,11 @@ state={ state={ "bookmarks": PackedInt32Array(), "breakpoints": PackedInt32Array(), -"column": 52, +"column": 56, "folded_lines": Array[int]([]), "h_scroll_position": 0, -"row": 34, -"scroll_position": 23.0, +"row": 38, +"scroll_position": 29.0, "selection": false, "syntax_highlighter": "GDScript" } diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin index a396f2727697105e1f96727d0ce929080ca2cd35..94d373462bc6b3c98a7e4c32cb06931650b50149 100644 Binary files a/.godot/uid_cache.bin and b/.godot/uid_cache.bin differ diff --git a/scenes/Shop.tscn b/scenes/Shop.tscn index 1be604695095be0d413d57d4e208a9e9c468cffe..a1edae36b13581eaccda4932a397fb5bb8541332 100644 --- a/scenes/Shop.tscn +++ b/scenes/Shop.tscn @@ -8,9 +8,9 @@ script = ExtResource("1_8nmap") [node name="MainContainer" type="MarginContainer" parent="."] offset_right = 180.0 offset_bottom = 246.0 -theme_override_constants/margin_left = 20 +theme_override_constants/margin_left = 0 theme_override_constants/margin_top = 20 -theme_override_constants/margin_right = 20 +theme_override_constants/margin_right = 0 theme_override_constants/margin_bottom = 20 [node name="Background" type="ColorRect" parent="MainContainer"] @@ -42,10 +42,17 @@ theme_override_constants/margin_top = 20 theme_override_constants/margin_right = 20 theme_override_constants/margin_bottom = 20 +[node name="ResetShopButton" type="Button" parent="MainContainer/RowsContainer/BottomSection"] +layout_mode = 2 +size_flags_horizontal = 0 +text = "Reset Shop +" + [node name="NextRoundButton" type="Button" parent="MainContainer/RowsContainer/BottomSection"] layout_mode = 2 size_flags_horizontal = 8 text = "Next Round " +[connection signal="pressed" from="MainContainer/RowsContainer/BottomSection/ResetShopButton" to="." method="_on_reset_shop_button_pressed"] [connection signal="pressed" from="MainContainer/RowsContainer/BottomSection/NextRoundButton" to="." method="_on_next_round_button_pressed"] diff --git a/scenes/ShopItem.tscn b/scenes/ShopItem.tscn index 39d1a38dcbd2c2891d4b9a9d592f4535e396557a..0d17358372f0e64c8410b8a15897b645f547271e 100644 --- a/scenes/ShopItem.tscn +++ b/scenes/ShopItem.tscn @@ -35,9 +35,6 @@ horizontal_alignment = 1 layout_mode = 2 horizontal_alignment = 1 -[node name="TierLabel" type="Label" parent="MarginContainer/VBoxContainer"] -layout_mode = 2 - [node name="BuyButton" type="Button" parent="MarginContainer/VBoxContainer"] custom_minimum_size = Vector2(100, 40) layout_mode = 2 diff --git a/scenes/shop_item.gd b/scenes/shop_item.gd index e82a1692447f267d420ddf5e665d09bb6dd62373..7048426a93ae9028742880801e5efdc45207eb68 100644 --- a/scenes/shop_item.gd +++ b/scenes/shop_item.gd @@ -5,9 +5,9 @@ func set_tier_style(tier: String): # Define tier colors var tier_colors = { - "bronze": Color("#cd7f32"), + "bronze": Color("#A56B2B"), "silver": Color("#c0c0c0"), - "gold": Color("#ffd700") + "gold": Color("#D7B000") } # Style configuration diff --git a/scripts/Shop.gd b/scripts/Shop.gd index f393806fda6d6a9c3048b8e9c01450bc76ac5de0..7ba3e4aade5671c2dce3ece2a191a8c896165168 100644 --- a/scripts/Shop.gd +++ b/scripts/Shop.gd @@ -9,11 +9,11 @@ signal next_round_requested var shop_items = { "pieces": [ - {"name": "Pawn", "price": 1, "tier": "bronze", "texture": "res://assets/...", "purchased": false}, - {"name": "Rook", "price": 3, "tier": "silver", "texture": "res://assets/...", "purchased": false}, - {"name": "Bishop", "price": 3, "tier": "silver", "texture": "res://assets/...", "purchased": false}, - {"name": "Knight", "price": 3, "tier": "silver", "texture": "res://assets/...", "purchased": false}, - {"name": "Queen", "price": 5, "tier": "gold", "texture": "res://assets/...", "purchased": false} + {"name": "Pawn", "price": 1, "tier": "bronze", "texture": "res://assets/Resized Chess Piece Assets/White_Pawn.png", "purchased": false}, + {"name": "Rook", "price": 3, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/White_Rook.png", "purchased": false}, + {"name": "Bishop", "price": 3, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/White_Bishop.png", "purchased": false}, + {"name": "Knight", "price": 3, "tier": "silver", "texture": "res://assets/Resized Chess Piece Assets/White_Knight.png", "purchased": false}, + {"name": "Queen", "price": 5, "tier": "gold", "texture": "res://assets/Resized Chess Piece Assets/White_Queen.png", "purchased": false} ], "upgrades": [ {"name": "Upgrade 1", "price": 3, "tier": "bronze", "texture": "res://assets/Resized Chess Piece Assets/Black_Pawn.png", "purchased": false}, @@ -32,9 +32,9 @@ var tier_weights = { func _ready(): self.visible = false # Start hidden - # Each item is 150, 200 with 10 margin on each side, 2 rows and 3 columns - var _shop_size = Vector2(570, 480) - print("Shop scene loaded!") # Check if this prints + # Connect the reset button + var reset_button = $MainContainer/RowsContainer/BottomSection/ResetShopButton # Adjust the path to your button + reset_button.connect("pressed", Callable(self, "_on_reset_button_pressed")) populate_rows() # Populate the shop rows # self.custom_minimum_size = get_viewport_rect().size # Fill the screen @@ -59,6 +59,14 @@ func populate_rows(): add_item_to_row(upgrade, $MainContainer/RowsContainer/UpgradesRow) +func _on_reset_button_pressed(): + # Clear existing items + clear_row($MainContainer/RowsContainer/PiecesRow) + clear_row($MainContainer/RowsContainer/UpgradesRow) + + # Repopulate the shop + populate_rows() + func clear_row(row: HBoxContainer): for child in row.get_children(): child.queue_free() @@ -98,19 +106,6 @@ func add_item_to_row(item_data: Dictionary, row: HBoxContainer): var buy_button = shop_item.get_node("MarginContainer/VBoxContainer/BuyButton") buy_button.connect("pressed", Callable(self, "_on_buy_button_pressed").bind(item_data, shop_item)) - # Add tier indicator - var tier_label = shop_item.get_node("MarginContainer/VBoxContainer/TierLabel") - tier_label.text = item_data["tier"].capitalize() - - # Optional: Color code tiers - match item_data["tier"]: - "bronze": - tier_label.add_theme_color_override("font_color", Color("#cd7f32")) - "silver": - tier_label.add_theme_color_override("font_color", Color("#c0c0c0")) - "gold": - tier_label.add_theme_color_override("font_color", Color("#ffd700")) - row.add_child(shop_item) func _on_buy_button_pressed(item_data: Dictionary, shop_item: Node): @@ -128,3 +123,7 @@ func _on_next_round_button_pressed(): print("Next Round button pressed!") visible = false # Hide the shop emit_signal("next_round_requested") # Notify the main game script + + +func _on_reset_shop_button_pressed() -> void: + pass # Replace with function body. diff --git a/scripts/game.gd b/scripts/game.gd index f6585a7a1bd85c2e7c62713d911c424896addd8b..8cfc00b0acf167aa2d706275c915c4e29c3480fa 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -49,7 +49,8 @@ func _ready() -> void: shop = shop_scene.instantiate() add_child(shop) var viewport_size = get_viewport().get_visible_rect().size - shop.position = (viewport_size / 2) - Vector2(570, 670) / 2 + + shop.position = (viewport_size / 2) - Vector2(570, 650) / 2 # pretty much centered, not sure on the exact values / how to scale it to screen size better shop.visible = false # Start hidden update_gold_display() # Initialize gold display set_gold_display_position() # Set the anchors and margins for the gold display