It's Cow Game! Version 2.04!
This commit is contained in:
commit
a9e1ed9ddd
3148 changed files with 95332 additions and 0 deletions
BIN
UI/Cleaning/Ant.png
Normal file
BIN
UI/Cleaning/Ant.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 141 B |
34
UI/Cleaning/Ant.png.import
Normal file
34
UI/Cleaning/Ant.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dvcvrdaqypycr"
|
||||
path="res://.godot/imported/Ant.png-32bb5677c1fe726069223e984332e5a2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Cleaning/Ant.png"
|
||||
dest_files=["res://.godot/imported/Ant.png-32bb5677c1fe726069223e984332e5a2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
UI/Cleaning/Ant2.png
Normal file
BIN
UI/Cleaning/Ant2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 151 B |
34
UI/Cleaning/Ant2.png.import
Normal file
34
UI/Cleaning/Ant2.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://oqrvoy2btk0u"
|
||||
path="res://.godot/imported/Ant2.png-423f45c94a55c32a4180a0853b9b25a2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Cleaning/Ant2.png"
|
||||
dest_files=["res://.godot/imported/Ant2.png-423f45c94a55c32a4180a0853b9b25a2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
14
UI/Cleaning/AntsLeaving.gd
Normal file
14
UI/Cleaning/AntsLeaving.gd
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
extends CPUParticles2D
|
||||
|
||||
var returningAntsDelay = 0.9
|
||||
|
||||
func _process(delta):
|
||||
if returningAntsDelay > 0:
|
||||
returningAntsDelay -= delta
|
||||
if returningAntsDelay <= 0:
|
||||
var returningAnts = preload("res://UI/Cleaning/AntsReturning.tscn").instantiate()
|
||||
returningAnts.emitting = true
|
||||
add_sibling(returningAnts)
|
||||
|
||||
func _on_finished():
|
||||
queue_free()
|
||||
33
UI/Cleaning/AntsLeaving.tscn
Normal file
33
UI/Cleaning/AntsLeaving.tscn
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://dts1fgq6kxthf"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dvcvrdaqypycr" path="res://UI/Cleaning/Ant.png" id="1_cmqw5"]
|
||||
[ext_resource type="Texture2D" uid="uid://oqrvoy2btk0u" path="res://UI/Cleaning/Ant2.png" id="2_8rrx7"]
|
||||
[ext_resource type="Script" path="res://UI/Cleaning/AntsLeaving.gd" id="3_mut4n"]
|
||||
|
||||
[sub_resource type="AnimatedTexture" id="AnimatedTexture_7imm2"]
|
||||
frames = 2
|
||||
frame_0/texture = ExtResource("1_cmqw5")
|
||||
frame_0/duration = 0.2
|
||||
frame_1/texture = ExtResource("2_8rrx7")
|
||||
frame_1/duration = 0.2
|
||||
|
||||
[node name="AntsLeaving" type="CPUParticles2D"]
|
||||
position = Vector2(440, 250)
|
||||
emitting = false
|
||||
amount = 40
|
||||
one_shot = true
|
||||
texture = SubResource("AnimatedTexture_7imm2")
|
||||
emission_shape = 4
|
||||
emission_points = PackedVector2Array(0, 0, -20, 0, -25, 0, 20, 0, 25, 0)
|
||||
emission_colors = PackedColorArray(0, 0, 0, 1)
|
||||
direction = Vector2(0, 1)
|
||||
spread = 4.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 130.0
|
||||
initial_velocity_max = 130.0
|
||||
color = Color(1, 0.2, 0.2, 1)
|
||||
anim_speed_min = 3.0
|
||||
anim_speed_max = 3.0
|
||||
script = ExtResource("3_mut4n")
|
||||
|
||||
[connection signal="finished" from="." to="." method="_on_finished"]
|
||||
4
UI/Cleaning/AntsReturning.gd
Normal file
4
UI/Cleaning/AntsReturning.gd
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
extends CPUParticles2D
|
||||
|
||||
func _on_finished():
|
||||
queue_free()
|
||||
34
UI/Cleaning/AntsReturning.tscn
Normal file
34
UI/Cleaning/AntsReturning.tscn
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://dwpqwb2y3ol2o"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dvcvrdaqypycr" path="res://UI/Cleaning/Ant.png" id="1_1cpey"]
|
||||
[ext_resource type="Texture2D" uid="uid://oqrvoy2btk0u" path="res://UI/Cleaning/Ant2.png" id="2_8yf31"]
|
||||
[ext_resource type="Script" path="res://UI/Cleaning/AntsReturning.gd" id="3_e8s6y"]
|
||||
|
||||
[sub_resource type="AnimatedTexture" id="AnimatedTexture_t7was"]
|
||||
frames = 2
|
||||
frame_0/texture = ExtResource("1_1cpey")
|
||||
frame_0/duration = 0.2
|
||||
frame_1/texture = ExtResource("2_8yf31")
|
||||
frame_1/duration = 0.2
|
||||
|
||||
[node name="AntsReturning" type="CPUParticles2D"]
|
||||
position = Vector2(440, 250)
|
||||
emitting = false
|
||||
amount = 40
|
||||
lifetime = 1.05
|
||||
one_shot = true
|
||||
texture = SubResource("AnimatedTexture_t7was")
|
||||
emission_shape = 4
|
||||
emission_points = PackedVector2Array(0, 140, -20, 140, -25, 140, 20, 140, 25, 140)
|
||||
emission_colors = PackedColorArray()
|
||||
direction = Vector2(0, -1)
|
||||
spread = 4.0
|
||||
gravity = Vector2(0, 0)
|
||||
initial_velocity_min = 130.0
|
||||
initial_velocity_max = 130.0
|
||||
color = Color(1, 0.2, 0.2, 1)
|
||||
anim_speed_min = 3.0
|
||||
anim_speed_max = 3.0
|
||||
script = ExtResource("3_e8s6y")
|
||||
|
||||
[connection signal="finished" from="." to="." method="_on_finished"]
|
||||
78
UI/Cleaning/CleaningMenu.gd
Normal file
78
UI/Cleaning/CleaningMenu.gd
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryItemDisplayer = %Inventory
|
||||
|
||||
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
|
||||
|
||||
var playerInventory:Inventory
|
||||
|
||||
func _ready():
|
||||
inventoryItemDisplayer.fiveButtons = true
|
||||
inventoryItemDisplayer.allButtons = true
|
||||
|
||||
inventoryItemDisplayer.buttonPressed.connect(clean_item)
|
||||
inventoryItemDisplayer.fiveButtonPressed.connect(clean_item.bind(5))
|
||||
inventoryItemDisplayer.allButtonPressed.connect(clean_item.bind(999999))
|
||||
inventoryItemDisplayer.set_title("Modified Items")
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
playerInventory = InventoryManager.get_inventory()
|
||||
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryItemDisplayer.update_display()
|
||||
|
||||
func clean_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)
|
||||
|
||||
var cleanedItem:Item = item.duplicate()
|
||||
cleanedItem.itemModifications = []
|
||||
InventoryManager.add_item_to_inventory(cleanedItem, quantity)
|
||||
|
||||
spawn_item_transition(item, cleanedItem)
|
||||
|
||||
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryItemDisplayer.update_display()
|
||||
|
||||
func spawn_item_transition(startItem, cleanedItem):
|
||||
var itemTransition = itemTransitionScene.instantiate()
|
||||
itemTransition.start_transition(startItem.get_sprite(), cleanedItem.get_sprite())
|
||||
|
||||
if Item.modifications.Concentrated in cleanedItem.itemModifications:
|
||||
itemTransition.transDuration = 0.2
|
||||
itemTransition.finalMomentsDuration = 2
|
||||
else:
|
||||
itemTransition.finalMomentsDuration = 1
|
||||
|
||||
var antsLeaving = preload("res://UI/Cleaning/AntsLeaving.tscn").instantiate()
|
||||
antsLeaving.emitting = true
|
||||
add_child(antsLeaving)
|
||||
|
||||
add_child(itemTransition)
|
||||
itemTransition.scale = Vector2(2, 2)
|
||||
itemTransition.position = Vector2(440, 380)
|
||||
|
||||
func filter_inventory(inventory):
|
||||
var filteredInv:Inventory = inventory.duplicate()
|
||||
|
||||
var i = filteredInv.items.size() - 1
|
||||
while i >= 0:
|
||||
var currentItem = filteredInv.items[i]
|
||||
var keepItem = false
|
||||
|
||||
if currentItem.itemModifications.size() > 0:
|
||||
keepItem = true
|
||||
|
||||
if !keepItem:
|
||||
filteredInv.remove_item(currentItem, filteredInv.quantities[i])
|
||||
|
||||
i -= 1
|
||||
|
||||
return filteredInv
|
||||
|
||||
func _on_leave_button_pressed():
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
79
UI/Cleaning/CleaningMenu.tscn
Normal file
79
UI/Cleaning/CleaningMenu.tscn
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://7jnt7eg1d70y"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_88o8l"]
|
||||
[ext_resource type="Script" path="res://UI/Cleaning/CleaningMenu.gd" id="2_nm4wy"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_fll61"]
|
||||
[ext_resource type="Texture2D" uid="uid://y5nogv4b31b" path="res://Objects/Beach/Anthill/Anthill.png" id="4_4r3jr"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_c7aq3"]
|
||||
bg_color = Color(0.988235, 0.85098, 0.721569, 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="CleaningMenu" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
unresizable = true
|
||||
borderless = true
|
||||
theme = ExtResource("1_88o8l")
|
||||
script = ExtResource("2_nm4wy")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
offset_right = 590.0
|
||||
offset_bottom = 8.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_c7aq3")
|
||||
|
||||
[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="CleanerName" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_colors/font_color = Color(0.701961, 0.929412, 0.694118, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 9
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Ant Dry Cleaning"
|
||||
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_fll61")]
|
||||
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="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="Anthill" type="Sprite2D" parent="."]
|
||||
position = Vector2(443, 300)
|
||||
scale = Vector2(2, 2)
|
||||
texture = ExtResource("4_4r3jr")
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
|
||||
Loading…
Add table
Add a link
Reference in a new issue