It's Cow Game! Version 2.04!
6
UI/AchievementsMenu/AchievementDisplay.gd
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
extends VBoxContainer
|
||||
|
||||
func show_achievement(achievement:Achievement):
|
||||
%StickerSprite.texture = achievement.get_current_sprite()
|
||||
%AchievementName.text = achievement.get_name()
|
||||
%AchievementDescription.text = achievement.get_description()
|
||||
34
UI/AchievementsMenu/AchievementDisplay.tscn
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://ctuytqfbdlvvl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://byuj18rnowo4t" path="res://Achievements/AchievementScripts/Levels/Sprites/Walking20Achieved.png" id="1_3v18l"]
|
||||
[ext_resource type="Script" path="res://UI/AchievementsMenu/AchievementDisplay.gd" id="1_54p10"]
|
||||
|
||||
[node name="AchievementDisplay" type="VBoxContainer"]
|
||||
custom_minimum_size = Vector2(180, 0)
|
||||
script = ExtResource("1_54p10")
|
||||
|
||||
[node name="StickerSprite" type="TextureRect" parent="."]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(64, 64)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
texture = ExtResource("1_3v18l")
|
||||
|
||||
[node name="AchievementName" type="Label" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "It's Walking Time"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
custom_minimum_size = Vector2(0, 50)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDescription" type="Label" parent="ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(175, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
text = "Play with a sugary worm on a string"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 3
|
||||
103
UI/AchievementsMenu/AchievementsMenu.gd
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
extends Control
|
||||
|
||||
var categorySelectors = []
|
||||
var achievementDisplays = []
|
||||
|
||||
var currentCategory
|
||||
var currentAchievements
|
||||
var currentPage
|
||||
var pageSize
|
||||
|
||||
func _ready():
|
||||
initialize()
|
||||
spawn_category_buttons()
|
||||
set_category(AchievementManager.get_categories()[0])
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
update_category_buttons()
|
||||
show_page(currentPage)
|
||||
|
||||
func close():
|
||||
get_tree().paused = false
|
||||
visible = false
|
||||
|
||||
func update_category_buttons():
|
||||
for categorySelector in categorySelectors:
|
||||
categorySelector.update_display()
|
||||
|
||||
func spawn_category_buttons():
|
||||
var categorySelectorScene = load("res://UI/AchievementsMenu/CategorySelector.tscn")
|
||||
|
||||
var categories = AchievementManager.get_categories()
|
||||
for category in categories:
|
||||
var newSelector = categorySelectorScene.instantiate()
|
||||
newSelector.set_category(category)
|
||||
categorySelectors.append(newSelector)
|
||||
%CategorySelectors.add_child(newSelector)
|
||||
|
||||
newSelector.pressed.connect(category_selector_clicked.bind(newSelector))
|
||||
|
||||
func category_selector_clicked(selector):
|
||||
set_category(selector.get_category())
|
||||
|
||||
func set_category(category):
|
||||
currentCategory = category
|
||||
currentAchievements = category.get_achievements()
|
||||
show_page(0)
|
||||
|
||||
func show_page(pageNum):
|
||||
currentPage = pageNum
|
||||
|
||||
var pageAchievements = get_page_achievements()
|
||||
for i in range(pageSize):
|
||||
var currentDisplay = achievementDisplays[i]
|
||||
if i < pageAchievements.size():
|
||||
currentDisplay.visible = true
|
||||
currentDisplay.show_achievement(pageAchievements[i])
|
||||
else:
|
||||
currentDisplay.visible = false
|
||||
|
||||
var maxPage = get_max_page()
|
||||
%PageNumber.text = "Page " + str(pageNum + 1) + "/" + str(maxPage + 1)
|
||||
update_page_buttons()
|
||||
|
||||
func get_page_achievements():
|
||||
var firstIndex = currentPage * pageSize
|
||||
|
||||
var pageAchievements = []
|
||||
for i in range(pageSize):
|
||||
var currentIndex = firstIndex + i
|
||||
if currentIndex < currentAchievements.size():
|
||||
pageAchievements.append(currentAchievements[currentIndex])
|
||||
else:
|
||||
break
|
||||
|
||||
return pageAchievements
|
||||
|
||||
func get_max_page():
|
||||
var maxPage = ceili(float(currentAchievements.size())/float(pageSize)) - 1
|
||||
return maxPage
|
||||
|
||||
func update_page_buttons():
|
||||
if currentPage <= 0:
|
||||
%PageLeftButton.disabled = true
|
||||
else:
|
||||
%PageLeftButton.disabled = false
|
||||
if currentPage >= get_max_page():
|
||||
%PageRightButton.disabled = true
|
||||
else:
|
||||
%PageRightButton.disabled = false
|
||||
|
||||
func initialize():
|
||||
achievementDisplays = %AchievementDisplays.get_children()
|
||||
pageSize = achievementDisplays.size()
|
||||
|
||||
func _on_page_left_button_pressed():
|
||||
show_page(currentPage - 1)
|
||||
|
||||
func _on_page_right_button_pressed():
|
||||
show_page(currentPage + 1)
|
||||
|
||||
func _on_close_button_pressed():
|
||||
close()
|
||||
161
UI/AchievementsMenu/AchievementsMenu.tscn
Normal file
|
|
@ -0,0 +1,161 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://dnt4r6t0qkc6g"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/AchievementsMenu/AchievementsMenu.gd" id="1_f2u73"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctuytqfbdlvvl" path="res://UI/AchievementsMenu/AchievementDisplay.tscn" id="2_d8wsb"]
|
||||
[ext_resource type="PackedScene" uid="uid://bv25pnvc5mfkl" path="res://UI/Buttons/PageButtons/PageLeftButton.tscn" id="3_oanwh"]
|
||||
[ext_resource type="PackedScene" uid="uid://dntmbosucrj4u" path="res://UI/Buttons/PageButtons/PageRightButton.tscn" id="4_k0eub"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4oavb"]
|
||||
bg_color = Color(0.372549, 0.6, 0.6, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 7
|
||||
border_width_bottom = 6
|
||||
|
||||
[node name="AchievementsMenu" type="Control"]
|
||||
process_mode = 3
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_f2u73")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
custom_minimum_size = Vector2(650, 595)
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -300.0
|
||||
offset_top = -200.0
|
||||
offset_right = 300.0
|
||||
offset_bottom = 200.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_4oavb")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementsLabelMargin" type="MarginContainer" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_top = 4
|
||||
|
||||
[node name="AchievementsLabel" type="Label" parent="PanelContainer/VBoxContainer/AchievementsLabelMargin"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 32
|
||||
text = "Achievements"
|
||||
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_top = 7
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CategoryZone" type="ScrollContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(240, 0)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="CategorySelectors" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/CategoryZone"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_bottom = 8
|
||||
|
||||
[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/MarginContainer"]
|
||||
custom_minimum_size = Vector2(0, 40)
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Close"
|
||||
|
||||
[node name="StickersZone" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="AchievementDisplays" type="HFlowContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/h_separation = 17
|
||||
alignment = 1
|
||||
|
||||
[node name="AchievementDisplay" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDisplay2" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDisplay3" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDisplay4" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDisplay5" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AchievementDisplay6" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/AchievementDisplays" instance=ExtResource("2_d8wsb")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone"]
|
||||
custom_minimum_size = Vector2(0, 65)
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 10
|
||||
theme_override_constants/margin_left = 30
|
||||
theme_override_constants/margin_top = 6
|
||||
theme_override_constants/margin_right = 30
|
||||
theme_override_constants/margin_bottom = 6
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="PageLeftButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer" instance=ExtResource("3_oanwh")]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(80, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 0
|
||||
|
||||
[node name="PageNumber" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
theme_override_font_sizes/font_size = 25
|
||||
text = "Page 3/1"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="PageRightButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer" instance=ExtResource("4_k0eub")]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(80, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 0
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/MarginContainer/CloseButton" to="." method="_on_close_button_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer/PageLeftButton" to="." method="_on_page_left_button_pressed"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/StickersZone/MarginContainer/HBoxContainer/PageRightButton" to="." method="_on_page_right_button_pressed"]
|
||||
34
UI/AchievementsMenu/CategorySelector.gd
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
extends Button
|
||||
|
||||
var shownCategory
|
||||
|
||||
func get_category():
|
||||
return shownCategory
|
||||
|
||||
func set_category(category):
|
||||
shownCategory = category
|
||||
update_display()
|
||||
|
||||
func update_display():
|
||||
%CategoryTitle.text = shownCategory.get_category_name()
|
||||
|
||||
var completed = shownCategory.get_complete_count()
|
||||
var total = shownCategory.get_achievement_count()
|
||||
var percentage = floori((float(completed) / float(total)) * 100)
|
||||
|
||||
if completed > 0 and percentage <= 0:
|
||||
percentage = 1
|
||||
|
||||
var progressCountText = str(completed) + "/" + str(total) + " - "
|
||||
progressCountText += str(percentage) + "%"
|
||||
%ProgressCount.text = progressCountText
|
||||
|
||||
%ProgressBar.max_value = total
|
||||
%ProgressBar.value = completed
|
||||
|
||||
if completed >= total:
|
||||
var greenFillBox:StyleBoxFlat = StyleBoxFlat.new()
|
||||
greenFillBox.bg_color = Color.GREEN
|
||||
%ProgressBar.set("theme_override_styles/fill", greenFillBox)
|
||||
|
||||
|
||||
52
UI/AchievementsMenu/CategorySelector.tscn
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://b56fxgx8o2mr2"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/AchievementsMenu/CategorySelector.gd" id="1_sd6m4"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_mcele"]
|
||||
bg_color = Color(0.733333, 0.541176, 0.572549, 1)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_y3isj"]
|
||||
bg_color = Color(0.839216, 0.796078, 0, 1)
|
||||
|
||||
[node name="CategorySelector" type="Button"]
|
||||
custom_minimum_size = Vector2(240, 80)
|
||||
script = ExtResource("1_sd6m4")
|
||||
|
||||
[node name="ProgressBar" type="ProgressBar" parent="."]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(220, 40)
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -110.0
|
||||
offset_top = -40.0
|
||||
offset_right = 110.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
theme_override_styles/background = SubResource("StyleBoxFlat_mcele")
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_y3isj")
|
||||
value = 40.0
|
||||
show_percentage = false
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
custom_minimum_size = Vector2(240, 80)
|
||||
layout_mode = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="CategoryTitle" type="Label" parent="VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Levels"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="ProgressCount" type="Label" parent="VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "1/1 - 100%"
|
||||
horizontal_alignment = 1
|
||||
10
UI/ActionButtons/FastWalking/FastWalkingToggle.gd
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
extends CheckButton
|
||||
|
||||
func _process(delta):
|
||||
if LevelManager.skills["walking"].currentLevel < 20:
|
||||
hide()
|
||||
else:
|
||||
show()
|
||||
|
||||
func _on_toggled(toggled_on):
|
||||
GameVariables.player.fastWalking = toggled_on
|
||||
BIN
UI/ActionButtons/FastWalking/FastWalkingToggled.png
Normal file
|
After Width: | Height: | Size: 882 B |
34
UI/ActionButtons/FastWalking/FastWalkingToggled.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dhxjqajqpfh86"
|
||||
path="res://.godot/imported/FastWalkingToggled.png-201fbaeea84b0ab2776bc641e1cf0da5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/ActionButtons/FastWalking/FastWalkingToggled.png"
|
||||
dest_files=["res://.godot/imported/FastWalkingToggled.png-201fbaeea84b0ab2776bc641e1cf0da5.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/ActionButtons/FastWalking/FastWalkingUntoggled.png
Normal file
|
After Width: | Height: | Size: 859 B |
34
UI/ActionButtons/FastWalking/FastWalkingUntoggled.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bkid13w75okyv"
|
||||
path="res://.godot/imported/FastWalkingUntoggled.png-1d0e109e5984eb7d837f3f400d99ad0c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/ActionButtons/FastWalking/FastWalkingUntoggled.png"
|
||||
dest_files=["res://.godot/imported/FastWalkingUntoggled.png-1d0e109e5984eb7d837f3f400d99ad0c.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
|
||||
43
UI/AshBarrel/AshBarrelContents.gd
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
extends ScrollContainer
|
||||
|
||||
var displayScene = preload("res://UI/AshBarrel/AshQuantityDisplay.tscn")
|
||||
|
||||
func add_ash(ashName):
|
||||
var itemFound = false
|
||||
|
||||
var displays = %AshQuantityDisplays.get_children()
|
||||
for display in displays:
|
||||
var currentAshName = display.ashName
|
||||
if currentAshName == ashName:
|
||||
display.set_ash_count(display.ashCount + 1)
|
||||
itemFound = true
|
||||
break
|
||||
|
||||
if !itemFound:
|
||||
var newDisplay = displayScene.instantiate()
|
||||
%AshQuantityDisplays.add_child(newDisplay)
|
||||
newDisplay.visible = true
|
||||
newDisplay.set_ash_name(ashName)
|
||||
newDisplay.set_ash_count(1)
|
||||
|
||||
func display_barrel_inventory():
|
||||
var config = SaveManager.get_save_config()
|
||||
var ashNames = config.get_section_keys("AshBarrel")
|
||||
|
||||
var displays = %AshQuantityDisplays.get_children()
|
||||
for display in displays:
|
||||
display.visible = false
|
||||
|
||||
for i in range(ashNames.size()):
|
||||
var currentAshName = ashNames[i]
|
||||
var currentAshCount = SaveManager.get_value_from_section("AshBarrel", currentAshName, 0)
|
||||
if i >= displays.size():
|
||||
var newDisplay = displayScene.instantiate()
|
||||
%AshQuantityDisplays.add_child(newDisplay)
|
||||
displays.append(newDisplay)
|
||||
|
||||
var currentDisplay = displays[i]
|
||||
currentDisplay.visible = true
|
||||
|
||||
currentDisplay.set_ash_name(currentAshName)
|
||||
currentDisplay.set_ash_count(currentAshCount)
|
||||
23
UI/AshBarrel/AshBarrelContents.tscn
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://clpkuwmqfa7vp"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cwkj1o1dlonhk" path="res://UI/AshBarrel/AshQuantityDisplay.tscn" id="1_rlw8v"]
|
||||
[ext_resource type="Script" path="res://UI/AshBarrel/AshBarrelContents.gd" id="1_sfqre"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ys683"]
|
||||
|
||||
[node name="AshBarrelContents" type="ScrollContainer"]
|
||||
offset_right = 400.0
|
||||
offset_bottom = 300.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_ys683")
|
||||
script = ExtResource("1_sfqre")
|
||||
|
||||
[node name="AshQuantityDisplays" type="VBoxContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="AshQuantityDisplay" parent="AshQuantityDisplays" instance=ExtResource("1_rlw8v")]
|
||||
layout_mode = 2
|
||||
130
UI/AshBarrel/AshBarrelWindow.gd
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryDisplayer = %InventoryDisplayer
|
||||
|
||||
func _ready():
|
||||
inventoryDisplayer.buttonPressed.connect(add_ash)
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
initialize_inventory()
|
||||
initialize_barrel_contents()
|
||||
update_barrel_display()
|
||||
|
||||
%CheckButton.button_pressed = SaveManager.get_save_value("PreventAshDuplicates", false)
|
||||
|
||||
func update_display(ashCount:int = -1):
|
||||
update_inventory()
|
||||
update_barrel_display(ashCount)
|
||||
|
||||
func initialize_barrel_contents():
|
||||
%AshBarrelContents.display_barrel_inventory()
|
||||
|
||||
func add_to_barrel_display(ashName):
|
||||
%AshBarrelContents.add_ash(ashName)
|
||||
|
||||
func update_barrel_display(ashCount:int = -1):
|
||||
if ashCount == -1:
|
||||
ashCount = get_ash_count()
|
||||
|
||||
var ashLevel = ashCount
|
||||
if ashLevel > 0:
|
||||
%AshBottom.visible = true
|
||||
%AshBottom.self_modulate = get_ash_color()
|
||||
else:
|
||||
%AshBottom.visible = false
|
||||
|
||||
if ashLevel > 100:
|
||||
ashLevel = 100
|
||||
|
||||
%AshProgress.value = ashLevel
|
||||
|
||||
var newStyleBox = %AshProgress.get("theme_override_styles/fill")
|
||||
newStyleBox.bg_color = get_ash_color()
|
||||
|
||||
get_parent().update_ash()
|
||||
|
||||
func get_ash_color():
|
||||
var ashColor = SaveManager.get_save_value("AshBarrelColor", "#FFFFFF")
|
||||
return Color.html(ashColor)
|
||||
|
||||
func get_ash_count():
|
||||
var ashCount = 0
|
||||
|
||||
var config = SaveManager.get_save_config()
|
||||
var ashNames = config.get_section_keys("AshBarrel")
|
||||
|
||||
for i in range(ashNames.size()):
|
||||
var currentAshName = ashNames[i]
|
||||
var currentAshCount = SaveManager.get_value_from_section("AshBarrel", currentAshName, 0)
|
||||
ashCount += currentAshCount
|
||||
|
||||
return ashCount
|
||||
|
||||
func add_ash(item:Item):
|
||||
var itemName = item.get_name()
|
||||
var timesAdded = SaveManager.get_value_from_section("AshBarrel", itemName, 0)
|
||||
|
||||
if SaveManager.get_save_value("PreventAshDuplicates", false) and timesAdded > 0:
|
||||
return
|
||||
|
||||
timesAdded += 1
|
||||
SaveManager.save_to_section("AshBarrel", itemName, timesAdded)
|
||||
|
||||
var ashColor:Color = SpriteGeneration.get_average_color(item.get_sprite().get_image())
|
||||
var totalAsh = get_ash_count()
|
||||
if totalAsh == 1:
|
||||
SaveManager.set_save_value("AshBarrelColor", ashColor.to_html())
|
||||
else:
|
||||
var oldRatio = (totalAsh-1)/float(totalAsh)
|
||||
var newRatio = 1 - oldRatio
|
||||
|
||||
if newRatio < 0.1:
|
||||
newRatio = 0.1
|
||||
|
||||
var oldAshColor = get_ash_color()
|
||||
var newAverageColor = oldAshColor.lerp(ashColor, newRatio)
|
||||
|
||||
SaveManager.set_save_value("AshBarrelColor", newAverageColor.to_html())
|
||||
|
||||
InventoryManager.remove_item_from_inventory(item)
|
||||
|
||||
if totalAsh >= 100:
|
||||
AchievementManager.complete_achievement("Community Service")
|
||||
|
||||
var config = SaveManager.get_save_config()
|
||||
var ashNames = config.get_section_keys("AshBarrel")
|
||||
if ashNames.size() >= 200:
|
||||
AchievementManager.complete_achievement("Arson Scientist")
|
||||
|
||||
update_display(totalAsh)
|
||||
add_to_barrel_display(itemName)
|
||||
|
||||
func initialize_inventory():
|
||||
update_inventory()
|
||||
inventoryDisplayer.set_title("Ash Items")
|
||||
|
||||
func update_inventory():
|
||||
var playerInventory = InventoryManager.get_inventory()
|
||||
inventoryDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func filter_inventory(inventory):
|
||||
var filteredInv:Inventory = Inventory.new()
|
||||
|
||||
var i = inventory.items.size() - 1
|
||||
while i >= 0:
|
||||
var currentItem = inventory.items[i]
|
||||
if Item.types.Ash in currentItem.itemTypes:
|
||||
filteredInv.add_item(currentItem.duplicate(), inventory.quantities[i])
|
||||
i -= 1
|
||||
|
||||
return filteredInv
|
||||
|
||||
func _on_leave_button_pressed():
|
||||
get_tree().paused = false
|
||||
get_parent().update_ash()
|
||||
hide()
|
||||
|
||||
func _on_check_button_toggled(toggled_on):
|
||||
SaveManager.set_save_value("PreventAshDuplicates", toggled_on)
|
||||
152
UI/AshBarrel/AshBarrelWindow.tscn
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://rggivntaylnr"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/AshBarrel/AshBarrelWindow.gd" id="1_dx65t"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_teuni"]
|
||||
[ext_resource type="Texture2D" uid="uid://bfsfwarreymej" path="res://Objects/Museum/AshBarrel/AshBarrel.png" id="3_lg4rj"]
|
||||
[ext_resource type="PackedScene" uid="uid://clpkuwmqfa7vp" path="res://UI/AshBarrel/AshBarrelContents.tscn" id="3_xickp"]
|
||||
[ext_resource type="Texture2D" uid="uid://6qkrfsj54byn" path="res://Objects/Museum/AshBarrel/AshBottom.png" id="4_n8vro"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gwc7g"]
|
||||
bg_color = Color(0.87451, 0.882353, 0.886275, 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="StyleBoxFlat" id="StyleBoxFlat_evst0"]
|
||||
bg_color = Color(0.6, 0.6, 0.6, 0)
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_hiy88"]
|
||||
bg_color = Color(0.819608, 0, 0.34902, 1)
|
||||
border_color = Color(0, 0.235294, 0.909804, 1)
|
||||
|
||||
[node name="AshBarrelWindow" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
borderless = true
|
||||
script = ExtResource("1_dx65t")
|
||||
|
||||
[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_gwc7g")
|
||||
|
||||
[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.65098, 0.647059, 0.627451, 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 = "Ash Barrel"
|
||||
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="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="InventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer" instance=ExtResource("2_teuni")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="CheckButton" type="CheckButton" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_hover_pressed_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_focus_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_disabled_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
text = "Prevent Adding Duplicates"
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 21
|
||||
text = "Barrel Contents"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="AshBarrelContents" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer" instance=ExtResource("3_xickp")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Node2D" type="Node2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
|
||||
position = Vector2(30, 50)
|
||||
|
||||
[node name="AshProgress" type="ProgressBar" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer/Node2D"]
|
||||
unique_name_in_owner = true
|
||||
offset_top = 160.0
|
||||
offset_right = 210.0
|
||||
offset_bottom = 300.0
|
||||
theme_override_styles/background = SubResource("StyleBoxFlat_evst0")
|
||||
theme_override_styles/fill = SubResource("StyleBoxFlat_hiy88")
|
||||
value = 80.0
|
||||
fill_mode = 3
|
||||
show_percentage = false
|
||||
|
||||
[node name="AshBottom" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer/Node2D"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(105, 227)
|
||||
scale = Vector2(0.8, 0.8)
|
||||
texture = ExtResource("4_n8vro")
|
||||
|
||||
[node name="BarrelSprite2" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
|
||||
clip_children = 2
|
||||
position = Vector2(137, 277)
|
||||
scale = Vector2(0.8, 0.8)
|
||||
texture = ExtResource("3_lg4rj")
|
||||
|
||||
[node name="Control" type="Control" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
size_flags_stretch_ratio = 1.75
|
||||
|
||||
[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="MarginContainer" type="MarginContainer" parent="PanelContainer/VBoxContainer/MarginContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/margin_left = 40
|
||||
theme_override_constants/margin_right = 40
|
||||
|
||||
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Leave"
|
||||
|
||||
[connection signal="toggled" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer/CheckButton" to="." method="_on_check_button_toggled"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/MarginContainer/LeaveButton" to="." method="_on_leave_button_pressed"]
|
||||
12
UI/AshBarrel/AshQuantityDisplay.gd
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
extends PanelContainer
|
||||
|
||||
var ashName = ""
|
||||
var ashCount = 0
|
||||
|
||||
func set_ash_name(newAshName):
|
||||
%AshName.text = newAshName
|
||||
ashName = newAshName
|
||||
|
||||
func set_ash_count(amount):
|
||||
%AshCount.text = "x" + str(amount)
|
||||
ashCount = amount
|
||||
29
UI/AshBarrel/AshQuantityDisplay.tscn
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://cwkj1o1dlonhk"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/AshBarrel/AshQuantityDisplay.gd" id="1_2bb87"]
|
||||
|
||||
[node name="AshQuantityDisplay" type="PanelContainer"]
|
||||
size_flags_horizontal = 3
|
||||
script = ExtResource("1_2bb87")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
layout_mode = 2
|
||||
theme_override_constants/margin_left = 10
|
||||
theme_override_constants/margin_right = 10
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AshName" type="Label" parent="MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Caramel Ash"
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="AshCount" type="Label" parent="MarginContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "x1333"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
135
UI/BasketStorage/BasketPlacingWindow.gd
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryDisplayer = %InventoryDisplayer
|
||||
|
||||
var shownBasket
|
||||
|
||||
var messageFadeDelay = 1
|
||||
var messageFadeSpeed = 1
|
||||
|
||||
func _ready():
|
||||
inventoryDisplayer.buttonPressed.connect(place_basket)
|
||||
inventoryDisplayer.set_title("Baskets")
|
||||
|
||||
func _process(delta):
|
||||
if %Message.self_modulate.a > 0:
|
||||
if messageFadeDelay > 0:
|
||||
messageFadeDelay -= delta
|
||||
else:
|
||||
%Message.self_modulate.a -= (messageFadeSpeed * delta)
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
%Message.self_modulate.a = 0
|
||||
|
||||
shownBasket = get_parent().get_current_basket()
|
||||
|
||||
initialize_inventory()
|
||||
update_basket_display()
|
||||
|
||||
func initialize_inventory():
|
||||
var playerInventory = InventoryManager.get_inventory()
|
||||
inventoryDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func update_inventory():
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func update_basket_display():
|
||||
if shownBasket != null:
|
||||
%BasketSprite.texture = shownBasket.get_sprite()
|
||||
else:
|
||||
%BasketSprite.texture = null
|
||||
|
||||
if shownBasket != null:
|
||||
var maxSpace = BasketWeaving.get_basket_space(shownBasket)
|
||||
var spaceUsed = get_parent().get_used_space(shownBasket)
|
||||
%BasketSpace.text = "Space: " + str(spaceUsed) + "/" + str(maxSpace)
|
||||
|
||||
if maxSpace < spaceUsed:
|
||||
%BasketSpace.set("theme_override_colors/font_color", Color.RED)
|
||||
else:
|
||||
%BasketSpace.set("theme_override_colors/font_color", Color.WHITE)
|
||||
else:
|
||||
%BasketSpace.text = "Space: 0/0"
|
||||
|
||||
if shownBasket != null:
|
||||
%BasketName.text = shownBasket.get_name()
|
||||
else:
|
||||
%BasketName.text = "No basket placed"
|
||||
|
||||
if shownBasket != null:
|
||||
%ReturnButton.visible = true
|
||||
else:
|
||||
%ReturnButton.visible = false
|
||||
|
||||
func remove_basket():
|
||||
if shownBasket != null:
|
||||
inventoryDisplayer.inventory.add_item(shownBasket)
|
||||
|
||||
shownBasket = null
|
||||
|
||||
update_inventory()
|
||||
update_basket_display()
|
||||
|
||||
func place_basket(basket):
|
||||
if shownBasket != null:
|
||||
inventoryDisplayer.inventory.add_item(shownBasket)
|
||||
|
||||
inventoryDisplayer.inventory.remove_item(basket)
|
||||
shownBasket = basket
|
||||
|
||||
update_inventory()
|
||||
update_basket_display()
|
||||
|
||||
func filter_inventory(inventory):
|
||||
var filteredInv:Inventory = inventory.duplicate()
|
||||
|
||||
var i = filteredInv.items.size() - 1
|
||||
while i >= 0:
|
||||
var currentItem:Item = filteredInv.items[i]
|
||||
if not Item.types.Basket in currentItem.itemTypes:
|
||||
filteredInv.remove_item(currentItem, filteredInv.quantities[i])
|
||||
i -= 1
|
||||
|
||||
return filteredInv
|
||||
|
||||
func not_enough_space_message():
|
||||
%Message.self_modulate.a = 1
|
||||
messageFadeDelay = 1
|
||||
|
||||
func _on_confirm_button_pressed():
|
||||
var maxSpace = 0
|
||||
if shownBasket != null:
|
||||
maxSpace = BasketWeaving.get_basket_space(shownBasket)
|
||||
var spaceUsed = get_parent().get_used_space(shownBasket)
|
||||
if spaceUsed > maxSpace:
|
||||
if shownBasket == null:
|
||||
%Message.text = "Empty basket contents first"
|
||||
else:
|
||||
%Message.text = "Not Enough Space in New Basket"
|
||||
not_enough_space_message()
|
||||
return
|
||||
|
||||
get_parent().change_current_basket(shownBasket)
|
||||
get_parent().update_basket_display()
|
||||
|
||||
if shownBasket.get_name(false) == "Wustard Basket":
|
||||
var wustardItems = 0
|
||||
var basketInv = InventoryManager.get_inventory(get_parent().basketInvName)
|
||||
for item:Item in basketInv.items:
|
||||
if item.get_name().contains("Wustard") and !item.get_name().contains("Empty"):
|
||||
wustardItems += 1
|
||||
if wustardItems >= 5:
|
||||
AchievementManager.complete_achievement("Wustard Lover")
|
||||
break
|
||||
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
|
||||
func _on_cancel_button_pressed():
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
|
||||
func _on_return_button_pressed():
|
||||
remove_basket()
|
||||
183
UI/BasketStorage/BasketPlacingWindow.tscn
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://k2okvt6ol7r3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="1_kofvl"]
|
||||
[ext_resource type="Script" path="res://UI/BasketStorage/BasketPlacingWindow.gd" id="1_mwxs2"]
|
||||
[ext_resource type="Texture2D" uid="uid://bbmlkil40xcbc" path="res://MiscArt/WhiteCircle.png" id="2_ru54q"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlxnk74anrjt7" path="res://Items/Basket/BaseItem/BasketBasket.png" id="3_qvqwn"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iimgq"]
|
||||
bg_color = Color(0.419608, 0.223529, 0.141176, 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_plq2c"]
|
||||
spacing_bottom = -14
|
||||
|
||||
[node name="BasketPlacingWindow" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
borderless = true
|
||||
script = ExtResource("1_mwxs2")
|
||||
|
||||
[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_iimgq")
|
||||
|
||||
[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.960784, 0.713726, 0.494118, 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 = "Basket Placing"
|
||||
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("1_kofvl")]
|
||||
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="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="VSplitContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
split_offset = 400
|
||||
dragger_visibility = 2
|
||||
|
||||
[node name="VBoxContainer" type="VSplitContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer"]
|
||||
layout_mode = 2
|
||||
collapsed = true
|
||||
dragger_visibility = 2
|
||||
|
||||
[node name="BasketName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/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_plq2c")
|
||||
theme_override_font_sizes/font_size = 35
|
||||
text = "Basket"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="BasketSpace" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/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_plq2c")
|
||||
theme_override_font_sizes/font_size = 35
|
||||
text = "Space: 5/20"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="ReturnButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = " Remove "
|
||||
|
||||
[node name="Outline" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
|
||||
self_modulate = Color(0.713726, 0.713726, 0.713726, 1)
|
||||
position = Vector2(140, 160)
|
||||
scale = Vector2(0.2, 0.2)
|
||||
texture = ExtResource("2_ru54q")
|
||||
|
||||
[node name="BasketSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(144, 198)
|
||||
scale = Vector2(3, 3)
|
||||
texture = ExtResource("3_qvqwn")
|
||||
|
||||
[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"
|
||||
|
||||
[node name="CancelButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
text = "Cancel"
|
||||
|
||||
[node name="Message" type="Label" parent="."]
|
||||
unique_name_in_owner = true
|
||||
self_modulate = Color(1, 1, 1, 0)
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -239.5
|
||||
offset_top = -22.5
|
||||
offset_right = 239.5
|
||||
offset_bottom = 22.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_colors/font_color = Color(1, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 12
|
||||
theme_override_font_sizes/font_size = 30
|
||||
text = "Not Enough Space in New Basket"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VSplitContainer/ReturnButton" to="." method="_on_return_button_pressed"]
|
||||
[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"]
|
||||
145
UI/BasketStorage/BasketStorageWindow.gd
Normal file
|
|
@ -0,0 +1,145 @@
|
|||
extends Window
|
||||
|
||||
var basketInventoryName
|
||||
|
||||
func _ready():
|
||||
basketInventoryName = get_parent().basketInvName
|
||||
|
||||
%InventoryDisplayer.fiveButtons = true
|
||||
%InventoryDisplayer.allButtons = true
|
||||
|
||||
%InventoryDisplayer.buttonPressed.connect(store_item_request)
|
||||
%InventoryDisplayer.fiveButtonPressed.connect(store_item_request.bind(5))
|
||||
%InventoryDisplayer.allButtonPressed.connect(store_item_request.bind(999999))
|
||||
%InventoryDisplayer.set_title("Inventory")
|
||||
|
||||
%BasketInventoryDisplayer.fiveButtons = true
|
||||
%BasketInventoryDisplayer.allButtons = true
|
||||
|
||||
%BasketInventoryDisplayer.buttonPressed.connect(withdraw_item_request)
|
||||
%BasketInventoryDisplayer.fiveButtonPressed.connect(withdraw_item_request.bind(5))
|
||||
%BasketInventoryDisplayer.allButtonPressed.connect(withdraw_item_request.bind(999999))
|
||||
%BasketInventoryDisplayer.set_title("Basket Inventory")
|
||||
|
||||
update_displays()
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
update_displays()
|
||||
|
||||
func update_displays():
|
||||
update_inventory_displays()
|
||||
update_space_display()
|
||||
|
||||
func update_space_display():
|
||||
var basketSpace = get_parent().get_current_basket_space()
|
||||
var basketSpaceUsed = get_parent().get_used_space()
|
||||
%SpaceLabel.text = "Space: " + str(basketSpaceUsed) + "/" + str(basketSpace)
|
||||
|
||||
func update_inventory_displays():
|
||||
%InventoryDisplayer.inventory = InventoryManager.get_inventory()
|
||||
%InventoryDisplayer.update_display()
|
||||
|
||||
%BasketInventoryDisplayer.inventory = InventoryManager.get_inventory(basketInventoryName)
|
||||
%BasketInventoryDisplayer.update_display()
|
||||
|
||||
func store_item_request(item, amount = 1):
|
||||
var itemsInInv = InventoryManager.get_item_count(item)
|
||||
if itemsInInv < amount:
|
||||
amount = itemsInInv
|
||||
|
||||
if not (SaveManager.get_save_value("ambiQuestComplete", false) and get_parent().infinite_check(item)):
|
||||
var basketSpaceLeft = get_parent().get_basket_space_left()
|
||||
if amount > basketSpaceLeft:
|
||||
amount = basketSpaceLeft
|
||||
|
||||
if amount > 0:
|
||||
store_item(item, amount)
|
||||
else:
|
||||
no_room_message()
|
||||
|
||||
func no_room_message():
|
||||
pass
|
||||
|
||||
func store_item(item, amount):
|
||||
InventoryManager.remove_item_from_inventory(item, amount)
|
||||
|
||||
var basketItem:Item = get_parent().get_current_basket()
|
||||
if Item.modifications.Wet in basketItem.itemModifications:
|
||||
var newItem:Item = ItemSoaking.wet_item(item)
|
||||
if amount >= 100 and !newItem.equals(item):
|
||||
AchievementManager.complete_achievement("Leaky Basket")
|
||||
|
||||
InventoryManager.add_item_to_inventory(item, amount, basketInventoryName)
|
||||
|
||||
update_displays()
|
||||
|
||||
func withdraw_item_request(item, amount = 1):
|
||||
var itemsInStorage = InventoryManager.get_item_count(item, basketInventoryName)
|
||||
if itemsInStorage < amount:
|
||||
amount = itemsInStorage
|
||||
|
||||
if amount > 0:
|
||||
withdraw_item(item, amount)
|
||||
|
||||
func withdraw_item(item, amount):
|
||||
InventoryManager.remove_item_from_inventory(item, amount, basketInventoryName)
|
||||
InventoryManager.add_item_to_inventory(item, amount)
|
||||
|
||||
update_displays()
|
||||
|
||||
func achievement_checks():
|
||||
var achievementSets = [["1 Fancy Skeleton",
|
||||
["Crystal Bone",
|
||||
"Dirt Bone",
|
||||
"Haunted Bone",
|
||||
"Licorice Bone",
|
||||
"Parallelogram Bone",
|
||||
"Pretzel Bone",
|
||||
"Redby Bone",
|
||||
"Rex Bone",
|
||||
"Rock Bone",
|
||||
"Square Bone",
|
||||
"Zucchini Bone"], false],
|
||||
["Portable Biodome",
|
||||
["Amethyst Deceiver",
|
||||
"Blue Pinkgill",
|
||||
"Hairy Curtain Crust",
|
||||
"Lions Mane",
|
||||
"Mycena Chlorophos",
|
||||
"Veiled Lady",
|
||||
"Wolfs Milk Slime Mould"], false]
|
||||
]
|
||||
|
||||
for achievementSet in achievementSets:
|
||||
var achievementName = achievementSet[0]
|
||||
var modified = achievementSet[2]
|
||||
var itemNames = achievementSet[1]
|
||||
|
||||
var allAccountedFor = true
|
||||
for itemName in itemNames:
|
||||
var itemsInInv = InventoryManager.get_item_count_by_name(itemName, basketInventoryName, modified)
|
||||
if itemsInInv <= 0:
|
||||
allAccountedFor = false
|
||||
break
|
||||
|
||||
if allAccountedFor:
|
||||
AchievementManager.complete_achievement(achievementName)
|
||||
|
||||
#Wustard Lover Achievement
|
||||
var basketItem = get_parent().get_current_basket()
|
||||
if basketItem != null and basketItem.get_name(false) == "Wustard Basket":
|
||||
var wustardItems = 0
|
||||
var basketInv = InventoryManager.get_inventory(basketInventoryName)
|
||||
for item:Item in basketInv.items:
|
||||
if item.get_name().contains("Wustard") and !item.get_name().contains("Empty"):
|
||||
wustardItems += 1
|
||||
if wustardItems >= 5:
|
||||
AchievementManager.complete_achievement("Wustard Lover")
|
||||
break
|
||||
|
||||
|
||||
func _on_leave_button_pressed():
|
||||
achievement_checks()
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
84
UI/BasketStorage/BasketStorageWindow.tscn
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://cgp2l1mosnko"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/BasketStorage/BasketStorageWindow.gd" id="1_udu18"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_gt4sc"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_iimgq"]
|
||||
bg_color = Color(0.419608, 0.223529, 0.141176, 1)
|
||||
border_width_left = 4
|
||||
border_width_top = 4
|
||||
border_width_right = 4
|
||||
border_width_bottom = 4
|
||||
border_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="BasketStorageWindow" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
borderless = true
|
||||
script = ExtResource("1_udu18")
|
||||
|
||||
[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_iimgq")
|
||||
|
||||
[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.960784, 0.713726, 0.494118, 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 = "Basket Storage"
|
||||
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_gt4sc")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
|
||||
[node name="BasketInventoryDisplayer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer" instance=ExtResource("2_gt4sc")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SpaceLabel" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 11
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Space: 0/0"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[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="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "Leave"
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
|
||||
52
UI/BeachHole/BeachHoleMenu.gd
Normal 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()
|
||||
88
UI/BeachHole/BeachHoleMenu.tscn
Normal 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"]
|
||||
35
UI/BeachHole/ItemRisingTransition.gd
Normal 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()
|
||||
10
UI/BeachHole/ItemRisingTransition.tscn
Normal 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)
|
||||
52
UI/Building/PlanningWindow.gd
Normal 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()
|
||||
180
UI/Building/PlanningWindow.tscn
Normal 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"]
|
||||
52
UI/Building/SandcastlePlanningWindow.gd
Normal 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()
|
||||
180
UI/Building/SandcastlePlanningWindow.tscn
Normal 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"]
|
||||
BIN
UI/Buttons/PageButtons/ArrowButton.png
Normal file
|
After Width: | Height: | Size: 743 B |
34
UI/Buttons/PageButtons/ArrowButton.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://ybjw22l2qjl"
|
||||
path="res://.godot/imported/ArrowButton.png-8478368f78833b0a8913ebae65477dde.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Buttons/PageButtons/ArrowButton.png"
|
||||
dest_files=["res://.godot/imported/ArrowButton.png-8478368f78833b0a8913ebae65477dde.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/Buttons/PageButtons/ArrowButtonDisabled.png
Normal file
|
After Width: | Height: | Size: 740 B |
34
UI/Buttons/PageButtons/ArrowButtonDisabled.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4ixjq5r6y8n0"
|
||||
path="res://.godot/imported/ArrowButtonDisabled.png-d7ef21b18b2723484753bb8496b1bc6c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Buttons/PageButtons/ArrowButtonDisabled.png"
|
||||
dest_files=["res://.godot/imported/ArrowButtonDisabled.png-d7ef21b18b2723484753bb8496b1bc6c.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/Buttons/PageButtons/ArrowButtonHover.png
Normal file
|
After Width: | Height: | Size: 738 B |
34
UI/Buttons/PageButtons/ArrowButtonHover.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cnevcodtkpw2y"
|
||||
path="res://.godot/imported/ArrowButtonHover.png-86704b36271f6b56b76dc7ab4242b149.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Buttons/PageButtons/ArrowButtonHover.png"
|
||||
dest_files=["res://.godot/imported/ArrowButtonHover.png-86704b36271f6b56b76dc7ab4242b149.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/Buttons/PageButtons/ArrowButtonPressed.png
Normal file
|
After Width: | Height: | Size: 740 B |
34
UI/Buttons/PageButtons/ArrowButtonPressed.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dtttuxhsu68gd"
|
||||
path="res://.godot/imported/ArrowButtonPressed.png-c846d04f8dad3377cd693ec68c507234.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Buttons/PageButtons/ArrowButtonPressed.png"
|
||||
dest_files=["res://.godot/imported/ArrowButtonPressed.png-c846d04f8dad3377cd693ec68c507234.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/Buttons/PageButtons/ArrowClickMask.bmp
Normal file
|
After Width: | Height: | Size: 47 KiB |
16
UI/Buttons/PageButtons/ArrowClickMask.bmp.import
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[remap]
|
||||
|
||||
importer="bitmap"
|
||||
type="BitMap"
|
||||
uid="uid://dpgikue3pxt2v"
|
||||
path="res://.godot/imported/ArrowClickMask.bmp-b49f4bb80d744c7d51d4822159070b9e.res"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Buttons/PageButtons/ArrowClickMask.bmp"
|
||||
dest_files=["res://.godot/imported/ArrowClickMask.bmp-b49f4bb80d744c7d51d4822159070b9e.res"]
|
||||
|
||||
[params]
|
||||
|
||||
create_from=0
|
||||
threshold=0.5
|
||||
14
UI/Buttons/PageButtons/PageLeftButton.tscn
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://bv25pnvc5mfkl"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://ybjw22l2qjl" path="res://UI/Buttons/PageButtons/ArrowButton.png" id="1_6kcv8"]
|
||||
[ext_resource type="Texture2D" uid="uid://dtttuxhsu68gd" path="res://UI/Buttons/PageButtons/ArrowButtonPressed.png" id="2_gn1e8"]
|
||||
[ext_resource type="Texture2D" uid="uid://cnevcodtkpw2y" path="res://UI/Buttons/PageButtons/ArrowButtonHover.png" id="3_3445q"]
|
||||
[ext_resource type="Texture2D" uid="uid://4ixjq5r6y8n0" path="res://UI/Buttons/PageButtons/ArrowButtonDisabled.png" id="4_l4hff"]
|
||||
[ext_resource type="BitMap" uid="uid://dpgikue3pxt2v" path="res://UI/Buttons/PageButtons/ArrowClickMask.bmp" id="5_eld7t"]
|
||||
|
||||
[node name="PageLeftButton" type="TextureButton"]
|
||||
texture_normal = ExtResource("1_6kcv8")
|
||||
texture_pressed = ExtResource("2_gn1e8")
|
||||
texture_hover = ExtResource("3_3445q")
|
||||
texture_disabled = ExtResource("4_l4hff")
|
||||
texture_click_mask = ExtResource("5_eld7t")
|
||||
6
UI/Buttons/PageButtons/PageRightButton.tscn
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dntmbosucrj4u"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bv25pnvc5mfkl" path="res://UI/Buttons/PageButtons/PageLeftButton.tscn" id="1_llcn7"]
|
||||
|
||||
[node name="PageRightButton" instance=ExtResource("1_llcn7")]
|
||||
flip_h = true
|
||||
BIN
UI/Cleaning/Ant.png
Normal file
|
After Width: | Height: | Size: 141 B |
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
|
After Width: | Height: | Size: 151 B |
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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,4 @@
|
|||
extends CPUParticles2D
|
||||
|
||||
func _on_finished():
|
||||
queue_free()
|
||||
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
|
|
@ -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
|
|
@ -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"]
|
||||
4
UI/Credits/Credits.gd
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
extends PopupPanel
|
||||
|
||||
func _on_close_button_pressed():
|
||||
hide()
|
||||
220
UI/Credits/Credits.tscn
Normal file
|
|
@ -0,0 +1,220 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://b46o5ib4aqykn"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/Credits/Credits.gd" id="1_yyf5c"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_44lbr"]
|
||||
bg_color = Color(0.823529, 0.85098, 0.996078, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 6
|
||||
border_width_bottom = 6
|
||||
border_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="CreditsPopup" type="PopupPanel"]
|
||||
size = Vector2i(500, 400)
|
||||
visible = true
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_44lbr")
|
||||
script = ExtResource("1_yyf5c")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
offset_left = 6.0
|
||||
offset_top = 6.0
|
||||
offset_right = 494.0
|
||||
offset_bottom = 394.0
|
||||
theme_override_constants/margin_left = 8
|
||||
theme_override_constants/margin_top = 2
|
||||
theme_override_constants/margin_right = 8
|
||||
theme_override_constants/margin_bottom = 4
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TitleLabel" type="Label" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 14
|
||||
theme_override_font_sizes/font_size = 38
|
||||
text = "Credits"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="MorbidName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0.803922, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "politepigeon aka morbidmollusc"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="MorbidAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Concepts, Artwork & Animations,
|
||||
Dialogue, and Playtesting "
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="JacoName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.882353, 0.745098, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Jaco"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="JacoAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Game Delivery Manager
|
||||
Beesley"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="VinceName" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.639216, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Vince Alan"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="VinceAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Music and Sound Effects"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Ellie" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.988235, 0.6, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Ellie Kellie"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="EllieAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Lead Gender Consultant"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="EllieBot" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.988235, 0.6, 1, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Ellie Kellie Bot"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="EllieBotAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Additional Gender Consultantcy"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Kristyn" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.811765, 0, 0.901961, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Kristyn"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="KristynAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Correct Kau"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Kusabii" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.301961, 0.854902, 0.0352941, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Kusabii"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="KusabiiAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Palm Tree Art"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="Bee" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.811765, 0, 0.901961, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Bee"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="BeeAccomplishments" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Programming, Art
|
||||
Game Design"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="SpecialThanks" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0.298039, 0.721569, 0.423529, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 2
|
||||
theme_override_font_sizes/font_size = 26
|
||||
text = "Special Thanks"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="SpeciallyThanked" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 23
|
||||
text = "Salman, Ellie Bot"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="CloseButton" type="Button" parent="MarginContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "Close"
|
||||
|
||||
[connection signal="pressed" from="MarginContainer/VBoxContainer/CloseButton" to="." method="_on_close_button_pressed"]
|
||||
88
UI/Drying/DryingMenu.gd
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryItemDisplayer = %Inventory
|
||||
|
||||
var itemTransitionScene = preload("res://UI/Sugaring/ItemFadeTransition.tscn")
|
||||
|
||||
var dryingAnimPositions = []
|
||||
var dryingAnimPosIndex = 0
|
||||
var playerInventory:Inventory
|
||||
|
||||
func _ready():
|
||||
dryingAnimPositions.append(Vector2(380, 325))
|
||||
dryingAnimPositions.append(Vector2(515, 335))
|
||||
dryingAnimPositions.append(Vector2(450, 345))
|
||||
|
||||
inventoryItemDisplayer.fiveButtons = true
|
||||
inventoryItemDisplayer.allButtons = true
|
||||
|
||||
inventoryItemDisplayer.buttonPressed.connect(dry_item)
|
||||
inventoryItemDisplayer.fiveButtonPressed.connect(dry_item.bind(5))
|
||||
inventoryItemDisplayer.allButtonPressed.connect(dry_item.bind(999999))
|
||||
inventoryItemDisplayer.set_title("Wet Items")
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
playerInventory = InventoryManager.get_inventory()
|
||||
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryItemDisplayer.update_display()
|
||||
|
||||
func dry_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 dryItem = ItemDrying.sun_dry_item(item)
|
||||
InventoryManager.add_item_to_inventory(dryItem, quantity)
|
||||
|
||||
spawn_item_transition(item, dryItem)
|
||||
|
||||
inventoryItemDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryItemDisplayer.update_display()
|
||||
|
||||
func spawn_item_transition(startItem, driedItem):
|
||||
var itemTransition = itemTransitionScene.instantiate()
|
||||
itemTransition.start_transition(startItem.get_sprite(), driedItem.get_sprite())
|
||||
|
||||
if Item.modifications.Concentrated in driedItem.itemModifications:
|
||||
itemTransition.transDuration = 0.2
|
||||
itemTransition.finalMomentsDuration = 2
|
||||
else:
|
||||
itemTransition.finalMomentsDuration = 1
|
||||
|
||||
add_child(itemTransition)
|
||||
itemTransition.scale = Vector2(2, 2)
|
||||
itemTransition.position = dryingAnimPositions[dryingAnimPosIndex]
|
||||
|
||||
dryingAnimPosIndex += 1
|
||||
if dryingAnimPosIndex >= dryingAnimPositions.size():
|
||||
dryingAnimPosIndex = 0
|
||||
|
||||
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 Item.modifications.Wet in currentItem.itemModifications:
|
||||
keepItem = true
|
||||
elif Item.types.Juice in currentItem.itemTypes:
|
||||
if not Item.modifications.Concentrated in currentItem.itemModifications:
|
||||
keepItem = true
|
||||
elif currentItem.get_name(false) == "Grape":
|
||||
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()
|
||||
101
UI/Drying/DryingMenu.tscn
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://bmse1b3qcae7m"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://dkofjwlcf80gp" path="res://UI/Themes/InteractionPopupTheme.tres" id="1_up8s2"]
|
||||
[ext_resource type="Script" path="res://UI/Drying/DryingMenu.gd" id="2_bvakk"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="3_kla7o"]
|
||||
[ext_resource type="Texture2D" uid="uid://cn2qexqrtgngh" path="res://Objects/Beach/SunningRock/SunningRock.png" id="4_xhpsp"]
|
||||
[ext_resource type="Texture2D" uid="uid://bxc6pq2t60a6g" path="res://UI/Drying/Sun/Sun1.png" id="5_c43w7"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqltoj0trnw3d" path="res://UI/Drying/Sun/Sun2.png" id="6_7ixof"]
|
||||
[ext_resource type="Script" path="res://Utils/PlayOnReady.gd" id="7_dh0s4"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_p28hs"]
|
||||
bg_color = Color(0.815686, 0.886275, 0.976471, 1)
|
||||
border_width_left = 4
|
||||
border_width_top = 4
|
||||
border_width_right = 19
|
||||
border_width_bottom = 4
|
||||
border_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_xej4q"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("5_c43w7")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": ExtResource("6_7ixof")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 2.0
|
||||
}]
|
||||
|
||||
[node name="DryingMenu" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
unresizable = true
|
||||
borderless = true
|
||||
theme = ExtResource("1_up8s2")
|
||||
script = ExtResource("2_bvakk")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
offset_right = 590.0
|
||||
offset_bottom = 8.0
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_p28hs")
|
||||
|
||||
[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="DryerName" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_colors/font_color = Color(1, 0.819608, 0.690196, 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 = "Sunning Rock"
|
||||
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_kla7o")]
|
||||
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="SunningRock" type="Sprite2D" parent="."]
|
||||
position = Vector2(443, 380)
|
||||
texture = ExtResource("4_xhpsp")
|
||||
|
||||
[node name="Sun" type="AnimatedSprite2D" parent="."]
|
||||
position = Vector2(440, 135)
|
||||
sprite_frames = SubResource("SpriteFrames_xej4q")
|
||||
frame_progress = 0.501922
|
||||
script = ExtResource("7_dh0s4")
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/LeaveButton" to="." method="_on_leave_button_pressed"]
|
||||
BIN
UI/Drying/Sun/Sun1.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
34
UI/Drying/Sun/Sun1.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bxc6pq2t60a6g"
|
||||
path="res://.godot/imported/Sun1.png-537e54b583353488d771be9fcdb1eb3d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Drying/Sun/Sun1.png"
|
||||
dest_files=["res://.godot/imported/Sun1.png-537e54b583353488d771be9fcdb1eb3d.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/Drying/Sun/Sun2.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
34
UI/Drying/Sun/Sun2.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqltoj0trnw3d"
|
||||
path="res://.godot/imported/Sun2.png-a4d7900f71f53e9be2ac4c32250e8c24.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Drying/Sun/Sun2.png"
|
||||
dest_files=["res://.godot/imported/Sun2.png-a4d7900f71f53e9be2ac4c32250e8c24.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
|
||||
49
UI/EscapeMenu/AssistMenu/AssistMenu.gd
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
extends Control
|
||||
|
||||
signal close
|
||||
|
||||
var xpMultipliers = [0, 0.25, 0.5, 1, 1.5, 2, 5]
|
||||
|
||||
func _ready():
|
||||
initialize_options()
|
||||
|
||||
func initialize_options():
|
||||
#Xp Multiplier
|
||||
var savedXpMult = SaveManager.get_save_value("xpMult", 1)
|
||||
|
||||
var sliderPos = 3
|
||||
for i in range(xpMultipliers.size()):
|
||||
var currentMult = xpMultipliers[i]
|
||||
if currentMult == savedXpMult:
|
||||
sliderPos = i
|
||||
break
|
||||
|
||||
%XPSlider.value = sliderPos
|
||||
update_xp_multiplier_label(%XPSlider.value)
|
||||
|
||||
#Level checks disable
|
||||
var levelChecksDisabled = SaveManager.get_save_value("disableQuestLevelChecks", false)
|
||||
update_quest_level_requirements_toggle(levelChecksDisabled)
|
||||
|
||||
func update_xp_multiplier_label(sliderPos):
|
||||
var labelText = "XP Multiplier: "
|
||||
labelText += str(xpMultipliers[sliderPos])
|
||||
labelText += "x"
|
||||
|
||||
%XPMultiplier.text = labelText
|
||||
|
||||
func update_quest_level_requirements_toggle(toggled):
|
||||
%QuestLevelChecks.button_pressed = toggled
|
||||
|
||||
func _on_xp_slider_drag_ended(value_changed):
|
||||
update_xp_multiplier_label(%XPSlider.value)
|
||||
SaveManager.set_save_value("xpMult", xpMultipliers[%XPSlider.value])
|
||||
|
||||
func _on_quest_level_checks_toggled(toggled_on):
|
||||
SaveManager.set_save_value("disableQuestLevelChecks", toggled_on)
|
||||
|
||||
func _on_close_button_pressed():
|
||||
close.emit()
|
||||
|
||||
func _on_xp_slider_value_changed(value):
|
||||
update_xp_multiplier_label(value)
|
||||
88
UI/EscapeMenu/AssistMenu/AssistMenu.tscn
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://cjc888f2cc6yj"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/EscapeMenu/AssistMenu/AssistMenu.gd" id="1_3rj4w"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_i2vwi"]
|
||||
bg_color = Color(0.188235, 0.188235, 0.188235, 1)
|
||||
|
||||
[node name="AssistMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_3rj4w")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -250.0
|
||||
offset_top = -137.5
|
||||
offset_right = 260.0
|
||||
offset_bottom = 137.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_i2vwi")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 14
|
||||
|
||||
[node name="MenuName" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 36
|
||||
text = "Assist Menu"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="XPMultiplier" type="Label" parent="PanelContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 30
|
||||
text = "XP Multiplier: 1x"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="XPSlider" type="HSlider" parent="PanelContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(350, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
max_value = 6.0
|
||||
value = 3.0
|
||||
tick_count = 7
|
||||
ticks_on_borders = true
|
||||
|
||||
[node name="HSplitContainer" type="HFlowContainer" parent="PanelContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(470, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
|
||||
[node name="Label" type="Label" parent="PanelContainer/VBoxContainer/HSplitContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "Disable quest and swimming level requirements"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="QuestLevelChecks" type="CheckBox" parent="PanelContainer/VBoxContainer/HSplitContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(0, 50)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 2
|
||||
|
||||
[node name="CloseButton" type="Button" parent="PanelContainer/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(80, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
text = "Close"
|
||||
|
||||
[connection signal="drag_ended" from="PanelContainer/VBoxContainer/XPSlider" to="." method="_on_xp_slider_drag_ended"]
|
||||
[connection signal="value_changed" from="PanelContainer/VBoxContainer/XPSlider" to="." method="_on_xp_slider_value_changed"]
|
||||
[connection signal="toggled" from="PanelContainer/VBoxContainer/HSplitContainer/QuestLevelChecks" to="." method="_on_quest_level_checks_toggled"]
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/CloseButton" to="." method="_on_close_button_pressed"]
|
||||
32
UI/EscapeMenu/EscapeMenu.gd
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
extends Control
|
||||
|
||||
func _ready():
|
||||
if OS.get_name() == "Web":
|
||||
%SaveAndQuit.visible = false
|
||||
|
||||
func _process(delta):
|
||||
if Input.is_action_just_pressed("Esc"):
|
||||
visible = !visible
|
||||
|
||||
func save():
|
||||
SaveManager.save_game(true)
|
||||
|
||||
func _on_return_to_game_pressed():
|
||||
visible = false
|
||||
|
||||
func _on_save_and_menu_pressed():
|
||||
save()
|
||||
GameVariables.return_to_main_menu()
|
||||
get_tree().change_scene_to_file("res://UI/MainMenu/MainMenu.tscn")
|
||||
|
||||
func _on_save_and_quit_pressed():
|
||||
save()
|
||||
get_tree().quit()
|
||||
|
||||
func _on_assist_pressed():
|
||||
$AssistMenu.visible = true
|
||||
$EscapeMenuButtons.visible = false
|
||||
|
||||
func _on_assist_menu_close():
|
||||
$AssistMenu.visible = false
|
||||
$EscapeMenuButtons.visible = true
|
||||
105
UI/EscapeMenu/EscapeMenu.tscn
Normal file
|
|
@ -0,0 +1,105 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://c5c58u64opilf"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/EscapeMenu/EscapeMenu.gd" id="1_yglqe"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjc888f2cc6yj" path="res://UI/EscapeMenu/AssistMenu/AssistMenu.tscn" id="2_qu4qt"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_titty"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0.223529, 0.223529, 0.223529, 1)
|
||||
corner_radius_top_left = 3
|
||||
corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
corner_detail = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fwiss"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0.101961, 0.101961, 0.101961, 1)
|
||||
corner_radius_top_left = 3
|
||||
corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
corner_detail = 5
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_m07n0"]
|
||||
content_margin_left = 4.0
|
||||
content_margin_top = 4.0
|
||||
content_margin_right = 4.0
|
||||
content_margin_bottom = 4.0
|
||||
bg_color = Color(0, 0, 0, 1)
|
||||
corner_radius_top_left = 3
|
||||
corner_radius_top_right = 3
|
||||
corner_radius_bottom_right = 3
|
||||
corner_radius_bottom_left = 3
|
||||
corner_detail = 5
|
||||
|
||||
[sub_resource type="Theme" id="Theme_pp1q1"]
|
||||
Button/styles/hover = SubResource("StyleBoxFlat_titty")
|
||||
Button/styles/normal = SubResource("StyleBoxFlat_fwiss")
|
||||
Button/styles/pressed = SubResource("StyleBoxFlat_m07n0")
|
||||
|
||||
[node name="EscapeMenu" type="Control"]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_yglqe")
|
||||
|
||||
[node name="EscapeMenuButtons" type="VBoxContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(350, 300)
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -20.0
|
||||
offset_top = -20.0
|
||||
offset_right = 20.0
|
||||
offset_bottom = 20.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = SubResource("Theme_pp1q1")
|
||||
theme_override_constants/separation = 12
|
||||
alignment = 1
|
||||
|
||||
[node name="Assist" type="Button" parent="EscapeMenuButtons"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Assist Menu"
|
||||
|
||||
[node name="SaveAndQuit" type="Button" parent="EscapeMenuButtons"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Save and Quit"
|
||||
|
||||
[node name="SaveAndMenu" type="Button" parent="EscapeMenuButtons"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Save and Quit to Main Menu"
|
||||
|
||||
[node name="ReturnToGame" type="Button" parent="EscapeMenuButtons"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 22
|
||||
text = "Resume Game
|
||||
"
|
||||
|
||||
[node name="AssistMenu" parent="." instance=ExtResource("2_qu4qt")]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
|
||||
[connection signal="pressed" from="EscapeMenuButtons/Assist" to="." method="_on_assist_pressed"]
|
||||
[connection signal="pressed" from="EscapeMenuButtons/SaveAndQuit" to="." method="_on_save_and_quit_pressed"]
|
||||
[connection signal="pressed" from="EscapeMenuButtons/SaveAndMenu" to="." method="_on_save_and_menu_pressed"]
|
||||
[connection signal="pressed" from="EscapeMenuButtons/ReturnToGame" to="." method="_on_return_to_game_pressed"]
|
||||
[connection signal="close" from="AssistMenu" to="." method="_on_assist_menu_close"]
|
||||
23
UI/EventPopups/ItemPickupPopup.gd
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
extends PanelContainer
|
||||
|
||||
var showTime = 2.5
|
||||
|
||||
var totalFadeTime = 0.65
|
||||
var fadeTimer = 0.65
|
||||
|
||||
func _process(delta):
|
||||
if showTime <= 0:
|
||||
fadeTimer -= delta
|
||||
|
||||
modulate.a = fadeTimer/totalFadeTime
|
||||
|
||||
if fadeTimer <= 0:
|
||||
MessageManager.item_popup_done()
|
||||
queue_free()
|
||||
else:
|
||||
showTime -= delta
|
||||
|
||||
func set_item(item):
|
||||
%ItemSprite.texture = item.get_sprite()
|
||||
%Message.text = "You got a " + item.itemName
|
||||
|
||||
66
UI/EventPopups/item_pickup_popup.tscn
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://np6lbq86x6hd"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="1_m6p5t"]
|
||||
[ext_resource type="Script" path="res://UI/EventPopups/ItemPickupPopup.gd" id="1_utng7"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_nmmge"]
|
||||
bg_color = Color(0.596078, 0.721569, 0.929412, 1)
|
||||
border_width_left = 6
|
||||
border_width_top = 6
|
||||
border_width_right = 6
|
||||
border_width_bottom = 6
|
||||
border_color = Color(0, 0, 0, 1)
|
||||
|
||||
[node name="ItemPickupPopup" type="PanelContainer"]
|
||||
process_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = 309.0
|
||||
offset_top = 23.0
|
||||
offset_right = -296.0
|
||||
offset_bottom = -514.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_nmmge")
|
||||
script = ExtResource("1_utng7")
|
||||
|
||||
[node name="HSplitContainer" type="HSplitContainer" parent="."]
|
||||
layout_mode = 2
|
||||
collapsed = true
|
||||
dragger_visibility = 2
|
||||
|
||||
[node name="ItemSprite" type="TextureRect" parent="HSplitContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
texture = ExtResource("1_m6p5t")
|
||||
expand_mode = 2
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="HSplitContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 0
|
||||
|
||||
[node name="Label" type="Label" parent="HSplitContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/line_spacing = 0
|
||||
theme_override_font_sizes/font_size = 19
|
||||
text = "Item Get!"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="Message" type="Label" parent="HSplitContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 1)
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 0
|
||||
theme_override_constants/line_spacing = 0
|
||||
theme_override_font_sizes/font_size = 18
|
||||
text = "You got a Cucumber"
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
41
UI/EventPopups/levelup_popup.gd
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
extends PanelContainer
|
||||
|
||||
var showTime = 3
|
||||
|
||||
var totalFadeTime = 1
|
||||
var fadeTimer = 1
|
||||
|
||||
var maxLevelPopup = false
|
||||
var secretSkillPopup = false
|
||||
|
||||
func _process(delta):
|
||||
if showTime <= 0:
|
||||
fadeTimer -= delta
|
||||
|
||||
modulate.a = fadeTimer/totalFadeTime
|
||||
|
||||
if fadeTimer <= 0:
|
||||
MessageManager.levelup_popup_done()
|
||||
queue_free()
|
||||
else:
|
||||
showTime -= delta
|
||||
|
||||
func secret_skill(skill):
|
||||
%SkillIcon.texture = skill.get_icon()
|
||||
%SkillName.text = "You have unlocked the Secret Skill"
|
||||
%Level.text = skill.skillName + "!"
|
||||
secretSkillPopup = true
|
||||
showTime = 10
|
||||
|
||||
func max_level():
|
||||
%SkillIcon.texture = load("res://UI/MenuBar/Icons/skillsIcon.png")
|
||||
%SkillName.text = "Your skills have all increased to the"
|
||||
%Level.text = "MAXIMUM LEVEL!!!"
|
||||
maxLevelPopup = true
|
||||
showTime = 10
|
||||
|
||||
func set_skill(skill):
|
||||
%SkillIcon.texture = skill.get_icon()
|
||||
%SkillName.text = "Your " + skill.skillName + " increased to"
|
||||
%Level.text = "Level " + str(skill.currentLevel)
|
||||
|
||||
88
UI/EventPopups/levelup_popup.tscn
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://qynm4xskjj5x"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d30v7gk31mcms" path="res://Skills/Scavenging/scavengingIcon2.png" id="1_2rwic"]
|
||||
[ext_resource type="Script" path="res://UI/EventPopups/levelup_popup.gd" id="1_nau6t"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wblss"]
|
||||
|
||||
[node name="LevelupPopup" type="PanelContainer"]
|
||||
process_mode = 3
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_left = 1.0
|
||||
offset_top = 4.0
|
||||
offset_right = 1.0
|
||||
offset_bottom = 331.0
|
||||
grow_horizontal = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_wblss")
|
||||
script = ExtResource("1_nau6t")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 6
|
||||
mouse_filter = 2
|
||||
theme_override_constants/separation = -15
|
||||
|
||||
[node name="SkillIcon" type="TextureRect" parent="VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 0
|
||||
mouse_filter = 2
|
||||
texture = ExtResource("1_2rwic")
|
||||
expand_mode = 5
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = -6
|
||||
|
||||
[node name="Label" type="Label" parent="VBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 1
|
||||
theme_override_colors/font_color = Color(0, 0.862745, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 20
|
||||
theme_override_font_sizes/font_size = 69
|
||||
text = "Level Up!"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/VBoxContainer/HBoxContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
mouse_filter = 2
|
||||
theme_override_constants/separation = 0
|
||||
alignment = 1
|
||||
|
||||
[node name="SkillName" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 1)
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 7
|
||||
theme_override_constants/line_spacing = 0
|
||||
theme_override_font_sizes/font_size = 27
|
||||
text = "Your Juice Drinking increased to "
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="Level" type="Label" parent="VBoxContainer/VBoxContainer/HBoxContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 2
|
||||
theme_override_colors/font_color = Color(0.831373, 0, 0.498039, 1)
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 19
|
||||
theme_override_constants/line_spacing = 0
|
||||
theme_override_font_sizes/font_size = 48
|
||||
text = "16"
|
||||
horizontal_alignment = 1
|
||||
BIN
UI/Gardening/Dirt.png
Normal file
|
After Width: | Height: | Size: 944 B |
34
UI/Gardening/Dirt.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dvk3ji5tr2sl5"
|
||||
path="res://.godot/imported/Dirt.png-f72663be8e16a754c2cf1b71e357ea3e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Gardening/Dirt.png"
|
||||
dest_files=["res://.godot/imported/Dirt.png-f72663be8e16a754c2cf1b71e357ea3e.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
|
||||
96
UI/Gardening/FertilizingWindow.gd
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryDisplayer = %InventoryDisplayer
|
||||
|
||||
var itemPlanted = null
|
||||
|
||||
func _ready():
|
||||
inventoryDisplayer.buttonPressed.connect(add_ash)
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
reset_display()
|
||||
|
||||
func _process(delta):
|
||||
if visible:
|
||||
update_time_to_growth()
|
||||
|
||||
func reset_display():
|
||||
itemPlanted = get_parent().currentItem
|
||||
|
||||
%ItemSprite.texture = itemPlanted.get_sprite()
|
||||
%PlantedItemName.text = itemPlanted.get_name()
|
||||
|
||||
update_harvest_lives()
|
||||
update_time_to_growth()
|
||||
|
||||
initialize_inventory()
|
||||
|
||||
func add_ash(ashItem):
|
||||
InventoryManager.remove_item_from_inventory(ashItem)
|
||||
|
||||
var bonusLives = get_bonus_lives(ashItem)
|
||||
if bonusLives > 0:
|
||||
get_parent().add_plant_lives(bonusLives)
|
||||
update_harvest_lives()
|
||||
|
||||
var timeBoost = get_time_boost(ashItem)
|
||||
get_parent().add_time_boosted(timeBoost)
|
||||
|
||||
update_inventory()
|
||||
|
||||
func update_harvest_lives():
|
||||
%HarvestBoost.text = "Harvest Boost: " + str(get_parent().plantLives) + "x"
|
||||
|
||||
func update_time_to_growth():
|
||||
var timeToGrowth = floor(get_parent().get_time_to_next_state_change())
|
||||
|
||||
var timeString = TimeDisplayUtils.get_time_string(timeToGrowth)
|
||||
%GrowthTime.text = "Growth Time:\n" + timeString
|
||||
|
||||
func get_time_boost(ashItem):
|
||||
var timeBoost = 10
|
||||
timeBoost += ashItem.get_edibility() * 1.2
|
||||
timeBoost = ceil(timeBoost)
|
||||
|
||||
if timeBoost < 0:
|
||||
timeBoost = 0
|
||||
|
||||
return timeBoost
|
||||
|
||||
func get_bonus_lives(ashItem):
|
||||
var bonusLives = 0
|
||||
var ashName = ashItem.get_name(false)
|
||||
ashName = ashName.substr(0, ashName.length() - 4)
|
||||
|
||||
if ashName in itemPlanted.get_name(false):
|
||||
bonusLives = 1
|
||||
|
||||
return bonusLives
|
||||
|
||||
func initialize_inventory():
|
||||
var playerInventory = InventoryManager.get_inventory()
|
||||
inventoryDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryDisplayer.update_display()
|
||||
inventoryDisplayer.set_title("Ash Items")
|
||||
|
||||
func update_inventory():
|
||||
var playerInventory = InventoryManager.get_inventory()
|
||||
inventoryDisplayer.inventory = filter_inventory(playerInventory)
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func filter_inventory(inventory):
|
||||
var filteredInv:Inventory = Inventory.new()
|
||||
|
||||
var i = inventory.items.size() - 1
|
||||
while i >= 0:
|
||||
var currentItem = inventory.items[i]
|
||||
if Item.types.Ash in currentItem.itemTypes:
|
||||
filteredInv.add_item(currentItem.duplicate(), inventory.quantities[i])
|
||||
i -= 1
|
||||
|
||||
return filteredInv
|
||||
|
||||
func _on_leave_button_pressed():
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
159
UI/Gardening/FertilizingWindow.tscn
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://c5ov4p0febsqt"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/Gardening/FertilizingWindow.gd" id="1_vkojs"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="2_h4qds"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="3_hbpcl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dvk3ji5tr2sl5" path="res://UI/Gardening/Dirt.png" id="4_fjhuc"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qbknj"]
|
||||
bg_color = Color(0.278431, 0.298039, 0.145098, 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="FertilizingWindow" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
borderless = true
|
||||
script = ExtResource("1_vkojs")
|
||||
|
||||
[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_qbknj")
|
||||
|
||||
[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.392157, 0.827451, 0.239216, 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 = "Fertilizing"
|
||||
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_h4qds")]
|
||||
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_hbpcl")
|
||||
|
||||
[node name="DirtSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(138, 281)
|
||||
scale = Vector2(1, 1.1)
|
||||
texture = ExtResource("4_fjhuc")
|
||||
|
||||
[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="VBoxContainer" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 6
|
||||
|
||||
[node name="PlantedItemName" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
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 = "Plant Name"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="HarvestBoost" 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 = 25
|
||||
text = "Harvest Boost: 1x"
|
||||
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="GrowthTime" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
|
||||
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 = "Growth Time: 20 mins"
|
||||
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 = 40
|
||||
theme_override_constants/margin_right = 40
|
||||
|
||||
[node name="LeaveButton" type="Button" parent="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Leave"
|
||||
|
||||
[connection signal="pressed" from="PanelContainer/VBoxContainer/MarginContainer2/HBoxContainer/MarginContainer/LeaveButton" to="." method="_on_leave_button_pressed"]
|
||||
50
UI/Gardening/PlantingWindow.gd
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
extends Window
|
||||
|
||||
@onready var inventoryDisplayer = %InventoryDisplayer
|
||||
|
||||
var itemToPlant = null
|
||||
|
||||
func _ready():
|
||||
inventoryDisplayer.buttonPressed.connect(plant_item)
|
||||
|
||||
func opened():
|
||||
get_tree().paused = true
|
||||
reset_display()
|
||||
|
||||
func reset_display():
|
||||
itemToPlant = null
|
||||
|
||||
%ItemSprite.texture = null
|
||||
%PlantedItemName.text = ""
|
||||
|
||||
%GrowthTime.text = ""
|
||||
|
||||
initialize_inventory()
|
||||
|
||||
func initialize_inventory():
|
||||
var playerInventory = InventoryManager.get_inventory()
|
||||
inventoryDisplayer.inventory = playerInventory
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func update_inventory():
|
||||
inventoryDisplayer.update_display()
|
||||
|
||||
func plant_item(item):
|
||||
itemToPlant = item
|
||||
|
||||
%ItemSprite.texture = item.get_sprite()
|
||||
%PlantedItemName.text = item.get_name()
|
||||
|
||||
var growthTime = get_parent().get_growth_time(item)
|
||||
%GrowthTime.text = "Growth Time:\n" + TimeDisplayUtils.get_time_string(growthTime)
|
||||
|
||||
func _on_confirm_button_pressed():
|
||||
if itemToPlant != null:
|
||||
InventoryManager.remove_item_from_inventory(itemToPlant)
|
||||
get_parent().plant_item(itemToPlant)
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
|
||||
func _on_cancel_button_pressed():
|
||||
get_tree().paused = false
|
||||
hide()
|
||||
151
UI/Gardening/PlantingWindow.tscn
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
[gd_scene load_steps=7 format=3 uid="uid://cjend4i0ag1bq"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/Gardening/PlantingWindow.gd" id="1_n2tqh"]
|
||||
[ext_resource type="PackedScene" uid="uid://c3ku75p4ep3c7" path="res://UI/Inventory/InventoryDisplayer.tscn" id="1_x4x41"]
|
||||
[ext_resource type="Texture2D" uid="uid://c3m2e2k7pa3al" path="res://Items/Foods/Fruits/Sprites/Apple.png" id="2_rcw6r"]
|
||||
[ext_resource type="Texture2D" uid="uid://dvk3ji5tr2sl5" path="res://UI/Gardening/Dirt.png" id="3_jx77n"]
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_qbknj"]
|
||||
bg_color = Color(0.278431, 0.298039, 0.145098, 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="PlantingWindow" type="Window"]
|
||||
process_mode = 3
|
||||
size = Vector2i(600, 500)
|
||||
borderless = true
|
||||
script = ExtResource("1_n2tqh")
|
||||
|
||||
[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_qbknj")
|
||||
|
||||
[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.392157, 0.827451, 0.239216, 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 = "Planting"
|
||||
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("1_x4x41")]
|
||||
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("2_rcw6r")
|
||||
|
||||
[node name="DirtSprite" type="Sprite2D" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer"]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(138, 281)
|
||||
scale = Vector2(1, 1.1)
|
||||
texture = ExtResource("3_jx77n")
|
||||
|
||||
[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="PlantedItemName" 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 = "Plant Name"
|
||||
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="GrowthTime" type="Label" parent="PanelContainer/VBoxContainer/MarginContainer/HBoxContainer/PanelContainer/MarginContainer/VBoxContainer/MarginContainer"]
|
||||
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 = "Growth Time: 20 mins"
|
||||
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 = "Plant"
|
||||
|
||||
[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"]
|
||||
58
UI/Hole/HoleMenu.gd
Normal 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
|
|
@ -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"]
|
||||
26
UI/Hole/ItemFallingTransition.gd
Normal 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()
|
||||
10
UI/Hole/ItemFallingTransition.tscn
Normal 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)
|
||||
27
UI/Inventory/InventoryDisplayer.tscn
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://c3ku75p4ep3c7"]
|
||||
|
||||
[ext_resource type="Script" path="res://UI/Shopping/InventoryDisplayer.gd" id="1_6npui"]
|
||||
|
||||
[node name="InventoryDisplayer" type="VBoxContainer"]
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
script = ExtResource("1_6npui")
|
||||
|
||||
[node name="Title" type="Label" parent="."]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_colors/font_color = Color(0, 0, 0, 1)
|
||||
theme_override_font_sizes/font_size = 32
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 2
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Items" type="VBoxContainer" parent="ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 2
|
||||
BIN
UI/Juicing/JuiceAnim/juiceAnim1.png
Normal file
|
After Width: | Height: | Size: 430 B |
34
UI/Juicing/JuiceAnim/juiceAnim1.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://da8pqedka2stm"
|
||||
path="res://.godot/imported/juiceAnim1.png-156d2caf68957f37649b12ba52e50800.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim1.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim1.png-156d2caf68957f37649b12ba52e50800.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/Juicing/JuiceAnim/juiceAnim10.png
Normal file
|
After Width: | Height: | Size: 700 B |
34
UI/Juicing/JuiceAnim/juiceAnim10.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c4j14kwhypmr7"
|
||||
path="res://.godot/imported/juiceAnim10.png-651c3ad7f5b338729fa6c8eca5a7f67d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim10.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim10.png-651c3ad7f5b338729fa6c8eca5a7f67d.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/Juicing/JuiceAnim/juiceAnim11.png
Normal file
|
After Width: | Height: | Size: 631 B |
34
UI/Juicing/JuiceAnim/juiceAnim11.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c1urafq8k20a5"
|
||||
path="res://.godot/imported/juiceAnim11.png-695a0162bbb0aa72dc7b020b443f1917.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim11.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim11.png-695a0162bbb0aa72dc7b020b443f1917.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/Juicing/JuiceAnim/juiceAnim12.png
Normal file
|
After Width: | Height: | Size: 680 B |
34
UI/Juicing/JuiceAnim/juiceAnim12.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b3ky6bn4vronw"
|
||||
path="res://.godot/imported/juiceAnim12.png-8d7579b94a025b9b1d46fe65b3cff135.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim12.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim12.png-8d7579b94a025b9b1d46fe65b3cff135.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/Juicing/JuiceAnim/juiceAnim13.png
Normal file
|
After Width: | Height: | Size: 618 B |
34
UI/Juicing/JuiceAnim/juiceAnim13.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://kchs1ssknsba"
|
||||
path="res://.godot/imported/juiceAnim13.png-7310a2d2ff2583cbbec4c445f679ac52.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim13.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim13.png-7310a2d2ff2583cbbec4c445f679ac52.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/Juicing/JuiceAnim/juiceAnim14.png
Normal file
|
After Width: | Height: | Size: 469 B |
34
UI/Juicing/JuiceAnim/juiceAnim14.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://nqudfa4jfref"
|
||||
path="res://.godot/imported/juiceAnim14.png-642c16fab1f103ce29219e79e75ddef6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim14.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim14.png-642c16fab1f103ce29219e79e75ddef6.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/Juicing/JuiceAnim/juiceAnim2.png
Normal file
|
After Width: | Height: | Size: 576 B |
34
UI/Juicing/JuiceAnim/juiceAnim2.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://5qsrwya1m0it"
|
||||
path="res://.godot/imported/juiceAnim2.png-ab5c7d2094f5ccb80e26fac24292f637.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim2.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim2.png-ab5c7d2094f5ccb80e26fac24292f637.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/Juicing/JuiceAnim/juiceAnim3.png
Normal file
|
After Width: | Height: | Size: 494 B |
34
UI/Juicing/JuiceAnim/juiceAnim3.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://rd0crhf3meb8"
|
||||
path="res://.godot/imported/juiceAnim3.png-89fa4577864e2d668ce42f26cbd5f120.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim3.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim3.png-89fa4577864e2d668ce42f26cbd5f120.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/Juicing/JuiceAnim/juiceAnim4.png
Normal file
|
After Width: | Height: | Size: 535 B |
34
UI/Juicing/JuiceAnim/juiceAnim4.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cbx2ymve13krt"
|
||||
path="res://.godot/imported/juiceAnim4.png-6785a028a8d1c858950f62b521d3355d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim4.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim4.png-6785a028a8d1c858950f62b521d3355d.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/Juicing/JuiceAnim/juiceAnim5.png
Normal file
|
After Width: | Height: | Size: 748 B |
34
UI/Juicing/JuiceAnim/juiceAnim5.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b6o7qhpqcatcw"
|
||||
path="res://.godot/imported/juiceAnim5.png-f60a9e0513a6a08c750feda44d46cee4.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim5.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim5.png-f60a9e0513a6a08c750feda44d46cee4.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/Juicing/JuiceAnim/juiceAnim6.png
Normal file
|
After Width: | Height: | Size: 827 B |
34
UI/Juicing/JuiceAnim/juiceAnim6.png.import
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b0jlej8bqxoyj"
|
||||
path="res://.godot/imported/juiceAnim6.png-0d3c2f6a9a8a20f64cbcd378a1a350ed.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://UI/Juicing/JuiceAnim/juiceAnim6.png"
|
||||
dest_files=["res://.godot/imported/juiceAnim6.png-0d3c2f6a9a8a20f64cbcd378a1a350ed.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
|
||||