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

58
UI/Hole/HoleMenu.gd Normal file
View file

@ -0,0 +1,58 @@
extends Window
@onready var inventoryItemDisplayer = %Inventory
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
var fallingAnimPositions = []
var fallingAnimPosIndex = 0
var playerInventory:Inventory
func _ready():
fallingAnimPositions.append(Vector2(444, 280))
fallingAnimPositions.append(Vector2(414, 260))
fallingAnimPositions.append(Vector2(470, 265))
inventoryItemDisplayer.fiveButtons = true
inventoryItemDisplayer.allButtons = true
inventoryItemDisplayer.buttonPressed.connect(drop_item)
inventoryItemDisplayer.fiveButtonPressed.connect(drop_item.bind(5))
inventoryItemDisplayer.allButtonPressed.connect(drop_item.bind(999999))
func opened():
get_tree().paused = true
playerInventory = InventoryManager.get_inventory()
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func drop_item(item:Item, quantity:int = 1):
var itemsInInv = InventoryManager.get_item_count(item)
if itemsInInv < quantity:
quantity = itemsInInv
InventoryManager.remove_item_from_inventory(item, quantity)
InventoryManager.add_item_to_inventory(item, quantity, "HoleInventory")
drop_item_animation(item)
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
inventoryItemDisplayer.update_display()
func drop_item_animation(item):
var fallAnimation = preload("res://UI/Hole/ItemFallingTransition.tscn").instantiate()
fallAnimation.start_transition(item.get_sprite())
fallAnimation.position = fallingAnimPositions[fallingAnimPosIndex]
fallingAnimPosIndex += 1
if fallingAnimPosIndex >= fallingAnimPositions.size():
fallingAnimPosIndex = 0
add_child(fallAnimation)
func filter_inventory(inventory):
var filteredInv:Inventory = inventory.duplicate()
return filteredInv
func _on_leave_button_pressed():
get_tree().paused = false
hide()

89
UI/Hole/HoleMenu.tscn Normal file
View file

@ -0,0 +1,89 @@
[gd_scene load_steps=6 format=3 uid="uid://bn16f7m6ev1is"]
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_k1efk"]
[ext_resource type="Script" path="res://UI/Hole/HoleMenu.gd" id="2_mu562"]
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_ueb31"]
[ext_resource type="Texture2D" uid="uid://bna8nkfem8ftl" path="res://Locations/Town/MuseumArea/Hole.png" id="4_6ybk8"]
[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="HoleMenu" type="Window"]
process_mode = 3
size = Vector2i(600, 500)
unresizable = true
borderless = true
theme = ExtResource("1_k1efk")
script = ExtResource("2_mu562")
[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="Inventory" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer" instance=ExtResource("3_ueb31")]
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 = "Inventory"
[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="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(444, 355)
scale = Vector2(0.4, 0.4)
texture = ExtResource("4_6ybk8")
[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,26 @@
extends Node2D
var fading = false
var falling = false
var shrinkSpeed = 1.5
var fallSpeed = 90
func start_transition(itemSprite):
fading = false
falling = true
%ItemSprite.texture = itemSprite
func _process(delta):
if falling:
$ItemSprite.position += Vector2(0, fallSpeed * delta)
$ItemSprite.scale -= Vector2(shrinkSpeed * delta, shrinkSpeed * delta)
if $ItemSprite.scale.x <= 0.5:
fading = true
if fading:
if %ItemSprite.self_modulate.a > 0:
%ItemSprite.self_modulate.a -= 4 * delta
if %ItemSprite.self_modulate.a < 0:
%ItemSprite.self_modulate.a = 0
queue_free()

View file

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