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 inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var risingAnimPosition = Vector2(160, 360)
var holeInventory:Inventory
func _ready():
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(grab_item)
inventoryItemDisplayer.fiveButtonPressed.connect(grab_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(grab_item.bind(999999))
func opened():
get_tree().paused = true
holeInventory = InventoryManager.get_inventory("HoleInventory")
inventoryItemDisplayer.inventory = filter_inventory(holeInventory)
inventoryItemDisplayer.update_display()
func grab_item(item:Item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item, "HoleInventory")
if itemsInInv < quantity:
quantity = itemsInInv
if quantity <= 0:
return
InventoryManager.remove_item_from_inventory(item, quantity, "HoleInventory")
InventoryManager.add_item_to_inventory(item, quantity)
grab_item_animation(item)
inventoryItemDisplayer.inventory = filter_inventory(holeInventory)
inventoryItemDisplayer.update_display()
func grab_item_animation(item):
var riseAnimation = preload("res://UI/BeachHole/ItemRisingTransition.tscn").instantiate()
riseAnimation.start_transition(item.get_sprite())
riseAnimation.position = risingAnimPosition
add_child(riseAnimation)
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

View file

@ -0,0 +1,88 @@
[gd_scene load_steps=6 format=3 uid="uid://baol6qs3m4f1h"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_klena"]
[ext_resource type="Script" path="res://UI/BeachHole/BeachHoleMenu.gd" id="2_ubrll"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_sn6aa"]
[ext_resource type="Texture2D" uid="uid://dxh2ma3cc001r" path="res://Objects/Beach/Hole/BeachHole.png" id="4_ldell"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_n5jl5"]
bg_color = Color(0.188235, 0.105882, 0.0117647, 1)
border_width_left = 4
border_width_top = 4
border_width_right = 19
border_width_bottom = 4
border_color = Color(0, 0, 0, 1)
[node name="BeachHoleMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_klena")
script = ExtResource("2_ubrll")
[node name="PanelContainer" type="PanelContainer" parent="."]
offset_right = 590.0
offset_bottom = 8.0
theme_override_styles/panel = SubResource("StyleBoxFlat_n5jl5")
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
custom_minimum_size = Vector2(590, 490)
layout_mode = 2
size_flags_horizontal = 3
theme_override_constants/separation = 11
[node name="HoleName" type="Label" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
size_flags_vertical = 0
theme_override_colors/font_color = Color(0.54902, 0.239216, 0, 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 = "Hole"
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 = 8
theme_override_constants/margin_right = 8
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
layout_mode = 2
size_flags_vertical = 3
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
self_modulate = Color(1, 1, 1, 0)
layout_mode = 2
size_flags_horizontal = 3
mouse_filter = 2
[node name="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_sn6aa")]
unique_name_in_owner = true
layout_mode = 2
[node name="Title" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory" index="0"]
visible = true
theme_override_colors/font_color = Color(0.690196, 1, 1, 1)
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 16
text = "Hole Inventory"
[node name="MarginContainer2" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/margin_bottom = 5
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
layout_mode = 2
size_flags_horizontal = 4
text = "Leave"
[node name="Hole" type="Sprite2D" parent="."]
position = Vector2(160, 355)
texture = ExtResource("4_ldell")
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
[editable path="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/Inventory"]

View file

@ -0,0 +1,35 @@
extends Node2D
var rising = false
var growSpeed = 1.6
var riseSpeed = 80
var loiterRiseSpeed = 10
var fadeInSpeed = 1.1
var readyToLoiter = false
var loiterTimer = 1
func start_transition(itemSprite):
rising = true
%ItemSprite.texture = itemSprite
%ItemSprite.self_modulate.a = 0.1
$ItemSprite.scale = Vector2(0.1, 0.1)
func _process(delta):
if rising:
$ItemSprite.position -= Vector2(0, riseSpeed * delta)
$ItemSprite.scale += Vector2(growSpeed * delta, growSpeed * delta)
%ItemSprite.self_modulate.a += fadeInSpeed * delta
if %ItemSprite.self_modulate.a >= 1:
%ItemSprite.self_modulate.a = 1
readyToLoiter = true
rising = false
if readyToLoiter:
if loiterTimer > 0:
$ItemSprite.position -= Vector2(0, loiterRiseSpeed * delta)
loiterTimer -= delta
else:
queue_free()

View file

@ -0,0 +1,10 @@
[gd_scene load_steps=2 format=3 uid="uid://bpcx1h7fbjqxn"]
[ext_resource type="Script" path="res://UI/BeachHole/ItemRisingTransition.gd" id="1_qt0i6"]
[node name="ItemRisingTransition" type="Node2D"]
script = ExtResource("1_qt0i6")
[node name="ItemSprite" type="Sprite2D" parent="."]
unique_name_in_owner = true
scale = Vector2(2, 2)