Skip to content
Snippets Groups Projects
Commit a280dd9a authored by Alan's avatar Alan
Browse files

Added a reset shop button, that repopulates the shop

parent c1b6b4e9
No related branches found
No related tags found
No related merge requests found
Button
Label
ColorRect
TextureRect
HBoxContainer
MarginContainer
Button
VBoxContainer
PanelContainer
Node2D
......
......@@ -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
......
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<>::
......
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
......@@ -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")])
......@@ -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")])
......@@ -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]
......
......@@ -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"
}
......
No preview for this file type
......@@ -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"]
......@@ -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
......
......@@ -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
......
......@@ -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.
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment