It's Cow Game! Version 2.04!

This commit is contained in:
PajamaBee 2024-09-19 23:06:51 -05:00
commit a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions

View file

@ -0,0 +1,52 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var plannedItem = null
func _ready():
inventoryDisplayer.buttonPressed.connect(plan_item)
func opened():
get_tree().paused = true
reset_display()
func reset_display():
plannedItem = null
%ItemSprite.texture = null
%BridgeName.text = ""
%StageCount.text = ""
%SuccessRate.text = ""
%Gumption.text = ""
initialize_inventory()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = playerInventory
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func plan_item(item):
plannedItem = item
%ItemSprite.texture = item.get_sprite()
%BridgeName.text = item.get_name() + " Dam"
%StageCount.text = "Stages: " + str(get_parent().get_stages_for_item(item))
%SuccessRate.text = "Success Rate: " + str(get_parent().get_success_chance(item)) + "%"
%Gumption.text = "Gumption: " + str(get_parent().get_gumption(item)) + " apples"
func _on_confirm_button_pressed():
if plannedItem != null:
get_parent().set_plan(plannedItem)
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,180 @@
[gd_scene load_steps=6 format=3 uid="uid://do0yyc8tr7wbh"]
[ext_resource type="Script" path="res://UI/Building/PlanningWindow.gd" id="1_dpjxq"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_lgogf"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_nxen7"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b6tf6"]
bg_color = Color(0.709804, 0.411765, 0.133333, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="PlanningWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_dpjxq")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_b6tf6")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.321569, 0.478431, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Planning"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_lgogf")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("3_nxen7")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="BridgeName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "_____ Bridge"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="StageCount" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Stages: 1000"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="SuccessRate" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Success Rate: 100%"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Gumption" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Gumption: 200 apples"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Confirm Plan"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]

View file

@ -0,0 +1,52 @@
extends Window
@onready var inventoryDisplayer = %InventoryDisplayer
var plannedItem = null
func _ready():
inventoryDisplayer.buttonPressed.connect(plan_item)
func opened():
get_tree().paused = true
reset_display()
func reset_display():
plannedItem = null
%ItemSprite.texture = null
%BridgeName.text = ""
%StageCount.text = ""
%SuccessRate.text = ""
%Gumption.text = ""
initialize_inventory()
func initialize_inventory():
var playerInventory = InventoryManager.get_inventory()
inventoryDisplayer.inventory = playerInventory
inventoryDisplayer.update_display()
func update_inventory():
inventoryDisplayer.update_display()
func plan_item(item):
plannedItem = item
%ItemSprite.texture = item.get_sprite()
%BridgeName.text = item.get_name() + "castle"
%StageCount.text = "Stages: " + str(get_parent().get_stages_for_item(item))
%SuccessRate.text = "Success Rate: " + str(get_parent().get_success_chance(item)) + "%"
%Gumption.text = "Gumption: " + str(get_parent().get_gumption(item)) + " apples"
func _on_confirm_button_pressed():
if plannedItem != null:
get_parent().set_plan(plannedItem)
get_tree().paused = false
hide()
func _on_cancel_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,180 @@
[gd_scene load_steps=6 format=3 uid="uid://b640j6bgsnyuq"]
[ext_resource type="Script" path="res://UI/Building/SandcastlePlanningWindow.gd" id="1_frob7"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_5q444"]
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_hc451"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_b6tf6"]
bg_color = Color(0.709804, 0.411765, 0.133333, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 4
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[sub_resource type="FontVariation" id="FontVariation_c1kkd"]
spacing_bottom = -14
[node name="PlanningWindow" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
borderless = true
script = ExtResource("1_frob7")
[node name="PanelContainer" type="PanelContainer" parent="."]
custom_minimum_size = Vector2(600, 500)
offset_right = 40.0
offset_bottom = 40.0
theme_override_styles/panel = SubResource("StyleBoxFlat_b6tf6")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
layout_mode = 2
theme_override_constants/separation = 13
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.321569, 0.478431, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
theme_override_font_sizes/font_size = 32
text = "Planning"
horizontal_alignment = 1
vertical_alignment = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/margin_left = 14
theme_override_constants/margin_right = 14
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
theme_override_constants/separation = 14
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("2_5q444")]
unique_name_in_owner = true
layout_mode = 2
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="ItemSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
unique_name_in_owner = true
position = Vector2(144, 175)
scale = Vector2(2, 2)
texture = ExtResource("3_hc451")
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
layout_mode = 2
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 0
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
layout_mode = 2
collapsed = true
dragger_visibility = 2
[node name="BridgeName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.4
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "_____ Bridge"
horizontal_alignment = 1
vertical_alignment = 2
autowrap_mode = 2
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 8
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 8
[node name="StageCount" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 35
text = "Stages: 1000"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="SuccessRate" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Success Rate: 100%"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="Gumption" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 2
size_flags_stretch_ratio = 0.08
theme_override_colors/font_color = Color(1, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 8
theme_override_constants/line_spacing = 0
theme_override_fonts/font = SubResource("FontVariation_c1kkd")
theme_override_font_sizes/font_size = 23
text = "Gumption: 200 apples"
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 2
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_left = 47
theme_override_constants/margin_right = 42
theme_override_constants/margin_bottom = 10
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
alignment = 1
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/margin_left = 0
theme_override_constants/margin_right = 45
[node name="ConfirmButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_horizontal = 3
text = "Confirm Plan"
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
text = "Cancel"
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/ConfirmButton" to="." method="_on_confirm_button_pressed"]
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/CancelButton" to="." method="_on_cancel_button_pressed"]