First commit 🎉
This commit is contained in:
commit
43ea213f9b
728 changed files with 37080 additions and 0 deletions
|
@ -0,0 +1,86 @@
|
|||
extends PopochiuHoverText
|
||||
|
||||
@export var follows_cursor := false
|
||||
|
||||
var _gui_width := 0.0
|
||||
var _gui_height := 0.0
|
||||
# Used to fix a warning shown by Godot related to the anchors of the node and changing its size
|
||||
# during a _ready() execution
|
||||
var _can_change_size := false
|
||||
|
||||
|
||||
#region Godot ######################################################################################
|
||||
func _ready() -> void:
|
||||
super()
|
||||
|
||||
_gui_width = PopochiuUtils.e.width
|
||||
_gui_height = PopochiuUtils.e.height
|
||||
|
||||
if PopochiuUtils.e.settings.scale_gui:
|
||||
_gui_width /= PopochiuUtils.e.scale.x
|
||||
_gui_height /= PopochiuUtils.e.scale.y
|
||||
|
||||
PopochiuUtils.e.current_command = NineVerbCommands.Commands.WALK_TO
|
||||
|
||||
set_process(follows_cursor)
|
||||
label.autowrap_mode = (
|
||||
TextServer.AUTOWRAP_OFF if follows_cursor else TextServer.AUTOWRAP_WORD_SMART
|
||||
)
|
||||
|
||||
_show_text()
|
||||
PopochiuUtils.e.ready.connect(set.bind("_can_change_size", true))
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
label.position = get_viewport().get_mouse_position()
|
||||
|
||||
if PopochiuUtils.e.settings.scale_gui:
|
||||
label.position /= PopochiuUtils.e.scale
|
||||
|
||||
label.position -= label.size / 2.0
|
||||
label.position.y -= PopochiuUtils.cursor.get_cursor_height() / 2
|
||||
|
||||
# Check viewport limits
|
||||
if label.position.x < 0.0:
|
||||
label.position.x = 0.0
|
||||
elif label.position.x + label.size.x > _gui_width:
|
||||
label.position.x = _gui_width - label.size.x
|
||||
|
||||
if label.position.y < 0.0:
|
||||
label.position.y = 0.0
|
||||
elif label.position.y + label.size.y > _gui_height:
|
||||
label.position.y = _gui_height - label.size.y
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private ####################################################################################
|
||||
func _show_text(txt := "") -> void:
|
||||
label.text = ""
|
||||
|
||||
if follows_cursor and _can_change_size:
|
||||
label.size = Vector2.ZERO
|
||||
|
||||
if txt.is_empty():
|
||||
if (
|
||||
PopochiuUtils.e.current_command == NineVerbCommands.Commands.WALK_TO
|
||||
and is_instance_valid(PopochiuUtils.e.get_hovered())
|
||||
):
|
||||
super("%s %s" % [
|
||||
PopochiuUtils.e.get_current_command_name(),
|
||||
PopochiuUtils.e.get_hovered().description
|
||||
])
|
||||
elif PopochiuUtils.e.current_command != NineVerbCommands.Commands.WALK_TO:
|
||||
super(PopochiuUtils.e.get_current_command_name())
|
||||
elif not txt.is_empty() and not PopochiuUtils.i.active:
|
||||
super("%s %s" % [PopochiuUtils.e.get_current_command_name(), txt])
|
||||
elif PopochiuUtils.i.active:
|
||||
super(txt)
|
||||
|
||||
if follows_cursor and _can_change_size:
|
||||
label.size += Vector2.ONE * (PopochiuUtils.cursor.get_cursor_height() / 2)
|
||||
# Adding 2.0 fixes a visual bug that was showing the first character of the text cut
|
||||
label.size.x += 2.0
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://cdetm38csm35w
|
|
@ -0,0 +1,22 @@
|
|||
@tool
|
||||
extends PopochiuInventoryGrid
|
||||
|
||||
@onready var settings: TextureButton = %Settings
|
||||
|
||||
|
||||
#region Godot ######################################################################################
|
||||
func _ready():
|
||||
super()
|
||||
|
||||
# Connect to child signals
|
||||
settings.pressed.connect(_on_settings_pressed)
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private ####################################################################################
|
||||
func _on_settings_pressed() -> void:
|
||||
PopochiuUtils.g.gui.settings_requested.emit()
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://brpj52iw0ywho
|
|
@ -0,0 +1,132 @@
|
|||
[gd_scene load_steps=18 format=3 uid="uid://djan6vy0xq8dq"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_7ovtr"]
|
||||
[ext_resource type="PackedScene" uid="uid://b4juyi6em7wja" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/9_verb_inventory_slot.tscn" id="2_goalc"]
|
||||
[ext_resource type="Texture2D" uid="uid://k5k85xjvtqwc" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/images/9verb_inventory_up.png" id="2_i17ns"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/9_verb_inventory_grid.gd" id="2_vgmo0"]
|
||||
[ext_resource type="Texture2D" uid="uid://co5fkuv4jgfbc" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/images/9verb_inventory_down.png" id="3_uqfpl"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcl6wrqgsdqa1" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/images/9verb_ico_settings.png" id="5_npkld"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_5xjfw"]
|
||||
atlas = ExtResource("2_i17ns")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_mq4sk"]
|
||||
atlas = ExtResource("2_i17ns")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_2rabq"]
|
||||
atlas = ExtResource("2_i17ns")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_hw2h8"]
|
||||
atlas = ExtResource("2_i17ns")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_tx0je"]
|
||||
atlas = ExtResource("5_npkld")
|
||||
region = Rect2(0, 0, 16, 15)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_4olg0"]
|
||||
atlas = ExtResource("5_npkld")
|
||||
region = Rect2(32, 0, 16, 15)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_xswvt"]
|
||||
atlas = ExtResource("5_npkld")
|
||||
region = Rect2(16, 0, 16, 15)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6237a"]
|
||||
atlas = ExtResource("3_uqfpl")
|
||||
region = Rect2(0, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_obc06"]
|
||||
atlas = ExtResource("3_uqfpl")
|
||||
region = Rect2(32, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_dt380"]
|
||||
atlas = ExtResource("3_uqfpl")
|
||||
region = Rect2(16, 0, 16, 16)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_jgd5d"]
|
||||
atlas = ExtResource("3_uqfpl")
|
||||
region = Rect2(48, 0, 16, 16)
|
||||
|
||||
[node name="9VerbInventoryGrid" type="HBoxContainer"]
|
||||
custom_minimum_size = Vector2(191, 49)
|
||||
offset_right = 191.0
|
||||
offset_bottom = 49.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
mouse_filter = 0
|
||||
theme = ExtResource("1_7ovtr")
|
||||
theme_override_constants/separation = 1
|
||||
script = ExtResource("2_vgmo0")
|
||||
slot_scene = ExtResource("2_goalc")
|
||||
h_separation = 1
|
||||
v_separation = 1
|
||||
|
||||
[node name="ScrollButtons" type="VBoxContainer" parent="."]
|
||||
custom_minimum_size = Vector2(24, 0)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="UpContainer" type="PanelContainer" parent="ScrollButtons"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Up" type="TextureButton" parent="ScrollButtons/UpContainer"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = SubResource("AtlasTexture_5xjfw")
|
||||
texture_pressed = SubResource("AtlasTexture_mq4sk")
|
||||
texture_hover = SubResource("AtlasTexture_2rabq")
|
||||
texture_disabled = SubResource("AtlasTexture_hw2h8")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="SettingsContainer" type="PanelContainer" parent="ScrollButtons"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Settings" type="TextureButton" parent="ScrollButtons/SettingsContainer"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
custom_minimum_size = Vector2(24, 15)
|
||||
layout_mode = 2
|
||||
texture_normal = SubResource("AtlasTexture_tx0je")
|
||||
texture_pressed = SubResource("AtlasTexture_4olg0")
|
||||
texture_hover = SubResource("AtlasTexture_xswvt")
|
||||
ignore_texture_size = true
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="DownContainer" type="PanelContainer" parent="ScrollButtons"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
|
||||
[node name="Down" type="TextureButton" parent="ScrollButtons/DownContainer"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
texture_normal = SubResource("AtlasTexture_6237a")
|
||||
texture_pressed = SubResource("AtlasTexture_obc06")
|
||||
texture_hover = SubResource("AtlasTexture_dt380")
|
||||
texture_disabled = SubResource("AtlasTexture_jgd5d")
|
||||
stretch_mode = 3
|
||||
|
||||
[node name="ScrollContainer" type="ScrollContainer" parent="."]
|
||||
custom_minimum_size = Vector2(99, 49)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
scroll_vertical_custom_step = 27.0
|
||||
horizontal_scroll_mode = 3
|
||||
vertical_scroll_mode = 3
|
||||
|
||||
[node name="Box" type="GridContainer" parent="ScrollContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme_override_constants/h_separation = 1
|
||||
theme_override_constants/v_separation = 1
|
||||
columns = 4
|
|
@ -0,0 +1,11 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://b4juyi6em7wja"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_xvh2s"]
|
||||
|
||||
[node name="9VerbInventorySlot" type="PanelContainer"]
|
||||
custom_minimum_size = Vector2(40, 24)
|
||||
offset_right = 40.0
|
||||
offset_bottom = 24.0
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
theme = ExtResource("1_xvh2s")
|
Binary file not shown.
After Width: | Height: | Size: 321 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://co5fkuv4jgfbc"
|
||||
path="res://.godot/imported/9verb_inventory_down.png-c2063bc18f3852e55efd1be63481c340.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/images/9verb_inventory_down.png"
|
||||
dest_files=["res://.godot/imported/9verb_inventory_down.png-c2063bc18f3852e55efd1be63481c340.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
|
Binary file not shown.
After Width: | Height: | Size: 306 B |
|
@ -0,0 +1,34 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://k5k85xjvtqwc"
|
||||
path="res://.godot/imported/9verb_inventory_up.png-65c99e0daf5ad91d8211f30b267d1e5e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/images/9verb_inventory_up.png"
|
||||
dest_files=["res://.godot/imported/9verb_inventory_up.png-65c99e0daf5ad91d8211f30b267d1e5e.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
|
|
@ -0,0 +1,23 @@
|
|||
extends Control
|
||||
|
||||
@onready var hover_text_centered: Control = %HoverTextCentered
|
||||
@onready var commands_container: BoxContainer = %CommandsContainer
|
||||
|
||||
|
||||
#region Godot ######################################################################################
|
||||
func _ready() -> void:
|
||||
hover_text_centered.hide()
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Public #####################################################################################
|
||||
func unpress_commands() -> void:
|
||||
commands_container.unpress_commands()
|
||||
|
||||
|
||||
func highlight_command(command_id: int, highlighted := true) -> void:
|
||||
commands_container.highlight_command(command_id, highlighted)
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://fa7wjtjsxuv7
|
|
@ -0,0 +1,177 @@
|
|||
[gd_scene load_steps=11 format=3 uid="uid://cuokybjvunmhq"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://esorelppu4hw" path="res://addons/popochiu/engine/objects/gui/components/hover_text/hover_text.tscn" id="1_8t0fs"]
|
||||
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_o0fnb"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_panel/9_verb_panel.gd" id="2_55o6l"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_hover_text/9_verb_hover_text.gd" id="2_qt1af"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/commands_container/9_verb_commands_container.gd" id="3_q8l3d"]
|
||||
[ext_resource type="ButtonGroup" uid="uid://y1thfsxxjowe" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/resources/9_verb_button_group.tres" id="4_6lnif"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/commands_container/9_verb_command_button.gd" id="5_bpewk"]
|
||||
[ext_resource type="PackedScene" uid="uid://djan6vy0xq8dq" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/9_verb_inventory_grid/9_verb_inventory_grid.tscn" id="6_r1cmu"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_b57cn"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mksfu"]
|
||||
|
||||
[node name="9VerbPanel" type="Control" groups=["popochiu_gui_component"]]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme = ExtResource("1_o0fnb")
|
||||
script = ExtResource("2_55o6l")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 12
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -64.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
mouse_filter = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_b57cn")
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
alignment = 2
|
||||
|
||||
[node name="HoverTextCentered" parent="PanelContainer/VBoxContainer" instance=ExtResource("1_8t0fs")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 3
|
||||
theme = null
|
||||
script = ExtResource("2_qt1af")
|
||||
follows_cursor = false
|
||||
|
||||
[node name="Verbs&InventoryContainer" type="PanelContainer" parent="PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_mksfu")
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer"]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 8
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="CommandsContainer" type="VBoxContainer" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
theme_override_constants/separation = 1
|
||||
script = ExtResource("3_q8l3d")
|
||||
|
||||
[node name="Row1" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer"]
|
||||
custom_minimum_size = Vector2(0, 16)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="Open" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row1"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Open"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 1
|
||||
|
||||
[node name="PickUp" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row1"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Pick Up"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 2
|
||||
|
||||
[node name="Push" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row1"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Push"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 3
|
||||
|
||||
[node name="Row2" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer"]
|
||||
custom_minimum_size = Vector2(0, 15)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="Close" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Close"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 4
|
||||
|
||||
[node name="LookAt" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Look At"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 5
|
||||
|
||||
[node name="Pull" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row2"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Pull"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 6
|
||||
|
||||
[node name="Row3" type="HBoxContainer" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer"]
|
||||
custom_minimum_size = Vector2(0, 16)
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 1
|
||||
|
||||
[node name="Give" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row3"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Give"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 7
|
||||
|
||||
[node name="TalkTo" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row3"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Talk To"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 8
|
||||
|
||||
[node name="Use" type="Button" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer/CommandsContainer/Row3"]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
toggle_mode = true
|
||||
button_group = ExtResource("4_6lnif")
|
||||
text = "Use"
|
||||
script = ExtResource("5_bpewk")
|
||||
command = 9
|
||||
|
||||
[node name="9VerbInventoryGrid" parent="PanelContainer/VBoxContainer/Verbs&InventoryContainer/HBoxContainer" instance=ExtResource("6_r1cmu")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 1
|
||||
theme = null
|
|
@ -0,0 +1,19 @@
|
|||
extends Button
|
||||
|
||||
@export var command: NineVerbCommands.Commands = NineVerbCommands.Commands.WALK_TO
|
||||
|
||||
|
||||
#region Godot ######################################################################################
|
||||
func _ready() -> void:
|
||||
pressed.connect(_on_pressed)
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private ####################################################################################
|
||||
func _on_pressed() -> void:
|
||||
PopochiuUtils.e.current_command = command
|
||||
PopochiuUtils.g.show_hover_text()
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://bc5c35ga21s5b
|
|
@ -0,0 +1,28 @@
|
|||
extends BoxContainer
|
||||
|
||||
|
||||
#region Public #####################################################################################
|
||||
func press_command(command: int) -> void:
|
||||
var btn: BaseButton = find_child(PopochiuUtils.e.get_command_name(command).to_pascal_case())
|
||||
|
||||
if btn:
|
||||
btn.button_pressed = true
|
||||
|
||||
|
||||
func unpress_commands() -> void:
|
||||
for btn in find_children("*", "BaseButton") as Array[BaseButton]:
|
||||
btn.set_pressed_no_signal(false)
|
||||
|
||||
if btn.has_focus():
|
||||
btn.release_focus()
|
||||
|
||||
|
||||
func highlight_command(command: int, highlighted := true) -> void:
|
||||
var btn: BaseButton = find_child(PopochiuUtils.e.get_command_name(command).to_pascal_case())
|
||||
|
||||
if btn:
|
||||
@warning_ignore("standalone_ternary")
|
||||
btn.grab_focus() if highlighted else btn.release_focus()
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://cuommy7lje5u7
|
|
@ -0,0 +1,6 @@
|
|||
[gd_scene load_steps=2 format=3 uid="uid://dv1gec8q4h6b7"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bnjo044fkdcq7" path="res://addons/popochiu/engine/objects/gui/components/popups/quit_popup/quit_popup.tscn" id="1_8vq27"]
|
||||
|
||||
[node name="9VerbQuitPopup" instance=ExtResource("1_8vq27")]
|
||||
script_name = &"9VerbQuitPopup"
|
|
@ -0,0 +1,43 @@
|
|||
@tool
|
||||
extends PopochiuPopup
|
||||
|
||||
signal option_selected(option_name: String)
|
||||
signal classic_sentence_toggled(pressed: bool)
|
||||
|
||||
@onready var classic_sentence: CheckButton = %ClassicSentence
|
||||
@onready var save_btn: Button = %Save
|
||||
@onready var load_btn: Button = %Load
|
||||
@onready var history_btn: Button = %History
|
||||
@onready var quit_btn: Button = %Quit
|
||||
|
||||
|
||||
#region Godot ######################################################################################
|
||||
func _ready() -> void:
|
||||
super()
|
||||
|
||||
if Engine.is_editor_hint(): return
|
||||
|
||||
# Connect to child signals
|
||||
save_btn.pressed.connect(option_selected.emit.bind("save"))
|
||||
load_btn.pressed.connect(option_selected.emit.bind("load"))
|
||||
history_btn.pressed.connect(option_selected.emit.bind("history"))
|
||||
quit_btn.pressed.connect(option_selected.emit.bind("quit"))
|
||||
classic_sentence.toggled.connect(_on_classic_sentence_toggled)
|
||||
|
||||
# Connect to autoloads signals
|
||||
# Fix #219: Close the popup whenever a slot is selected for saving or loading
|
||||
PopochiuUtils.e.game_saved.connect(close)
|
||||
PopochiuUtils.e.game_load_started.connect(close)
|
||||
|
||||
if OS.has_feature("web"):
|
||||
quit_btn.hide()
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region Private ####################################################################################
|
||||
func _on_classic_sentence_toggled(button_pressed: bool) -> void:
|
||||
classic_sentence_toggled.emit(button_pressed)
|
||||
|
||||
|
||||
#endregion
|
|
@ -0,0 +1 @@
|
|||
uid://c2f2ryfmudn56
|
|
@ -0,0 +1,120 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://crla6to4mm0p7"]
|
||||
|
||||
[ext_resource type="Theme" uid="uid://dpequqav4rjaf" path="res://addons/popochiu/engine/objects/gui/resources/base_gui_theme.tres" id="1_iqhqs"]
|
||||
[ext_resource type="Script" path="res://addons/popochiu/engine/objects/gui/templates/9_verb/components/settings_popup/9_verb_settings_popup.gd" id="2_fpv5p"]
|
||||
[ext_resource type="Texture2D" uid="uid://cmxrewai8t2lm" path="res://addons/popochiu/engine/objects/gui/resources/images/close.png" id="3_4d6ih"]
|
||||
[ext_resource type="StyleBox" uid="uid://dbajakvkltfaj" path="res://addons/popochiu/engine/objects/gui/components/popups/popochiu_popup_panel_container.tres" id="3_biwat"]
|
||||
[ext_resource type="Texture2D" uid="uid://p32i25numi5e" path="res://addons/popochiu/engine/objects/gui/resources/images/close_highlight.png" id="4_duspy"]
|
||||
[ext_resource type="PackedScene" uid="uid://drx0r8w00ivck" path="res://addons/popochiu/engine/objects/gui/components/sound_volumes/sound_volumes.tscn" id="5_k2hr6"]
|
||||
|
||||
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_4bri7"]
|
||||
|
||||
[node name="9VerbSettingsPopup" type="Control" groups=["popochiu_gui_popup"]]
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme = ExtResource("1_iqhqs")
|
||||
script = ExtResource("2_fpv5p")
|
||||
script_name = &"9VerbSettingsPopup"
|
||||
title = "Settings"
|
||||
|
||||
[node name="Overlay" type="PanelContainer" parent="."]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxEmpty_4bri7")
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="Overlay"]
|
||||
custom_minimum_size = Vector2(264, 0)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
theme_override_styles/panel = ExtResource("3_biwat")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Overlay/PanelContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HeaderContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Title" type="Label" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
text = "Settings"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="Close" type="TextureButton" parent="Overlay/PanelContainer/VBoxContainer/HeaderContainer"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
texture_normal = ExtResource("3_4d6ih")
|
||||
texture_pressed = ExtResource("4_duspy")
|
||||
texture_hover = ExtResource("4_duspy")
|
||||
|
||||
[node name="OptionsContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="SoundVolumes" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/VBoxContainer" instance=ExtResource("5_k2hr6")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="ClassicSentence" type="CheckButton" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
texture_filter = 1
|
||||
layout_mode = 2
|
||||
tooltip_text = "Show hover text centered"
|
||||
text = "Classic sentence"
|
||||
|
||||
[node name="Buttons" type="VBoxContainer" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer"]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(96, 0)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Save" type="Button" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Save"
|
||||
|
||||
[node name="Load" type="Button" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Load"
|
||||
|
||||
[node name="History" type="Button" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "History"
|
||||
|
||||
[node name="Quit" type="Button" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Quit game"
|
||||
|
||||
[node name="Cancel" type="Button" parent="Overlay/PanelContainer/VBoxContainer/OptionsContainer/Buttons"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Resume game"
|
||||
|
||||
[node name="FooterContainer" type="HBoxContainer" parent="Overlay/PanelContainer/VBoxContainer"]
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 10
|
||||
alignment = 2
|
||||
|
||||
[node name="Ok" type="Button" parent="Overlay/PanelContainer/VBoxContainer/FooterContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "ok"
|
Loading…
Add table
Add a link
Reference in a new issue