diff options
| author | radiohotline <radoihotline@disroot.rg> | 2026-08-25 16:33:56 +0300 |
|---|---|---|
| committer | radiohotline <radoihotline@disroot.rg> | 2026-08-25 16:33:56 +0300 |
| commit | a89e744ed0e8c759caf041a580112365bbfe4303 (patch) | |
| tree | dd61e320904176995727e86a857d00c90d4933ba /addons/escoria-ui-simplemouse | |
| parent | 6d53d8cac78250dc888aa49d5f9d4175c6652feb (diff) | |
Diffstat (limited to 'addons/escoria-ui-simplemouse')
| -rw-r--r-- | addons/escoria-ui-simplemouse/cursors/new/wait_b.png | bin | 0 -> 371 bytes | |||
| -rw-r--r-- | addons/escoria-ui-simplemouse/cursors/new/wait_b.png.import | 40 | ||||
| -rwxr-xr-x[-rw-r--r--] | addons/escoria-ui-simplemouse/fonts/caslonantique.ttf | bin | 147756 -> 147756 bytes | |||
| -rw-r--r-- | addons/escoria-ui-simplemouse/game.gd | 77 | ||||
| -rw-r--r-- | addons/escoria-ui-simplemouse/game.tscn | 31 | ||||
| -rwxr-xr-x[-rw-r--r--] | addons/escoria-ui-simplemouse/images/frame.png | bin | 285943 -> 285943 bytes | |||
| -rwxr-xr-x[-rw-r--r--] | addons/escoria-ui-simplemouse/images/inventory_bg.png | bin | 59720 -> 59720 bytes | |||
| -rwxr-xr-x[-rw-r--r--] | addons/escoria-ui-simplemouse/images/inventory_icon.png | bin | 68743 -> 68743 bytes | |||
| -rw-r--r-- | addons/escoria-ui-simplemouse/verbs_mouseicons.gd | 2 | ||||
| -rw-r--r-- | addons/escoria-ui-simplemouse/verbs_mouseicons.tscn | 45 |
10 files changed, 136 insertions, 59 deletions
diff --git a/addons/escoria-ui-simplemouse/cursors/new/wait_b.png b/addons/escoria-ui-simplemouse/cursors/new/wait_b.png Binary files differnew file mode 100644 index 0000000..66d213f --- /dev/null +++ b/addons/escoria-ui-simplemouse/cursors/new/wait_b.png diff --git a/addons/escoria-ui-simplemouse/cursors/new/wait_b.png.import b/addons/escoria-ui-simplemouse/cursors/new/wait_b.png.import new file mode 100644 index 0000000..26f990c --- /dev/null +++ b/addons/escoria-ui-simplemouse/cursors/new/wait_b.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cm0t24grofr0q" +path="res://.godot/imported/wait_b.png-5fe9f321b769de8f337c3f27efa2752e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://addons/escoria-ui-simplemouse/cursors/new/wait_b.png" +dest_files=["res://.godot/imported/wait_b.png-5fe9f321b769de8f337c3f27efa2752e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/addons/escoria-ui-simplemouse/fonts/caslonantique.ttf b/addons/escoria-ui-simplemouse/fonts/caslonantique.ttf Binary files differindex eec6f63..eec6f63 100644..100755 --- a/addons/escoria-ui-simplemouse/fonts/caslonantique.ttf +++ b/addons/escoria-ui-simplemouse/fonts/caslonantique.ttf diff --git a/addons/escoria-ui-simplemouse/game.gd b/addons/escoria-ui-simplemouse/game.gd index f18444d..4828862 100644 --- a/addons/escoria-ui-simplemouse/game.gd +++ b/addons/escoria-ui-simplemouse/game.gd @@ -1,10 +1,5 @@ extends ESCGame - -const VERB_USE = "use" -const VERB_WALK = "walk" - - """ Implement methods to react to inputs. @@ -42,6 +37,9 @@ Implement methods to react to inputs. - _on_event_done(event_name: String) """ +const VERB_USE = "use" +const VERB_WALK = "walk" + # Value to use for `device` argument to various `Input.get_joy` methods. const JOY_DEVICE = 0 @@ -64,18 +62,20 @@ const CHANGE_VERB_BUTTON = JOY_BUTTON_Y # Input action for use by InputMap const ESC_UI_CHANGE_VERB_ACTION = "esc_change_verb" +var targeted_node: Node + # true when a gamepad is connected. var _is_gamepad_connected = false # Tracks the mouse's current position onscreen. var _current_mouse_pos: Vector2 = Vector2.ZERO -var targeted_node: Node - func _ready(): hide_ui() $ui/tooltip.connect("tooltip_size_updated", Callable(self, "update_tooltip_following_mouse_position")) + escoria.inputs_manager.input_mode_changed.connect(_on_input_mode_changed) + func _enter_tree(): initialize_esc_game() @@ -148,10 +148,13 @@ func _on_gamepad_disconnected(): func _on_joy_connection_changed(device: int, connected: bool) -> void: if device != JOY_DEVICE: return - elif connected: + + _is_gamepad_connected = connected + if connected: _on_gamepad_connected() - else: - _on_gamepad_disconnected() + return + + _on_gamepad_disconnected() func _process(_delta) -> void: @@ -176,16 +179,18 @@ func _process_input(event: InputEvent, is_default_state: bool) -> bool: # ESCBackground is not guaranteed to be set, as we may be on # the "New Game" screen. return false - elif _is_gamepad_connected and event is InputEventJoypadButton: + + if _is_gamepad_connected and event is InputEventJoypadButton: escoria.logger.trace(self, "InputEventJoypadButton: %s" % [event.as_text()]) if event.is_action_pressed(escoria.inputs_manager.ESC_UI_PRIMARY_ACTION): # Admittedly, this breaks abstraction barriers and is completely # inappropriate, but it's what works right now. escoria.inputs_manager._on_left_click_on_bg(get_global_mouse_position()) return true - elif event.is_action_pressed(ESC_UI_CHANGE_VERB_ACTION): - mousewheel_action(1) - return true + + if event.is_action_pressed(ESC_UI_CHANGE_VERB_ACTION): + mousewheel_action(1) + return true return false @@ -335,7 +340,7 @@ func right_click_on_inventory_item(inventory_item_global_id: String, event: Inpu ) -func left_double_click_on_inventory_item(inventory_item_global_id: String, event: InputEvent) -> void: +func left_double_click_on_inventory_item(_inventory_item_global_id: String, _event: InputEvent) -> void: pass @@ -359,6 +364,14 @@ func inventory_item_unfocused() -> void: $mouse_layer/verbs_menu.set_by_name(VERB_WALK) +func open_inventory(): + $ui/inventory_ui.show_inventory() + + +func close_inventory(): + $ui/inventory_ui.hide_inventory() + + func mousewheel_action(direction: int): $mouse_layer/verbs_menu.iterate_actions_cursor(direction) @@ -379,22 +392,26 @@ func show_ui(): func hide_main_menu(): show_ui() - escoria.current_state = escoria.GAME_STATE.DEFAULT + $dialog_layer.propagate_call("set_visible", [true], true) + if escoria.current_state != escoria.GameState.LOADING: + escoria.current_state = escoria.GameState.DEFAULT if get_node(main_menu).visible: get_node(main_menu).hide() func show_main_menu(): - if escoria.current_state == escoria.GAME_STATE.PAUSED: + if escoria.current_state == escoria.GameState.PAUSED: return - escoria.current_state = escoria.GAME_STATE.PAUSED + escoria.current_state = escoria.GameState.PAUSED hide_ui() + $dialog_layer.propagate_call("set_visible", [false], true) if not get_node(main_menu).visible: get_node(main_menu).reset() get_node(main_menu).show() func unpause_game(): show_ui() - escoria.current_state = escoria.GAME_STATE.DEFAULT + $dialog_layer.propagate_call("set_visible", [true], true) + escoria.current_state = escoria.GameState.DEFAULT if get_node(pause_menu).visible: get_node(pause_menu).hide() escoria.object_manager.get_object(ESCObjectManager.SPEECH).node.resume() @@ -403,10 +420,11 @@ func unpause_game(): escoria.set_game_paused(false) func pause_game(): - if escoria.current_state == escoria.GAME_STATE.PAUSED: + if escoria.current_state == escoria.GameState.PAUSED: return - show_ui() - escoria.current_state = escoria.GAME_STATE.PAUSED + hide_ui() + $dialog_layer.propagate_call("set_visible", [false], true) + escoria.current_state = escoria.GameState.PAUSED if not get_node(pause_menu).visible: get_node(main_menu).reset() get_node(pause_menu).reset() @@ -475,3 +493,18 @@ func _on_event_done(_return_code: int, _event_name: String): func _on_room_ready(): $mouse_layer/verbs_menu.set_by_name(VERB_WALK) $mouse_layer/verbs_menu.action_manually_changed = false + +func _on_input_mode_changed(new_mode): + if new_mode == ESCInputsManager.INPUT_NONE: + $mouse_layer/verbs_menu.set_by_name("wait") + return + if ( + escoria.action_manager.action_state + == ESCActionManager.ActionInputState.AWAITING_TARGET_ITEM + ): + return + $mouse_layer/verbs_menu.set_by_name(escoria.action_manager.current_action) + + +func _on_MenuButton_pressed() -> void: + pause_game() diff --git a/addons/escoria-ui-simplemouse/game.tscn b/addons/escoria-ui-simplemouse/game.tscn index a36efc2..6897c14 100644 --- a/addons/escoria-ui-simplemouse/game.tscn +++ b/addons/escoria-ui-simplemouse/game.tscn @@ -1,37 +1,34 @@ [gd_scene format=3 uid="uid://u646id5k2hvg"] +[ext_resource type="PackedScene" uid="uid://ciy2hn83a3rim" path="res://addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn" id="1"] [ext_resource type="Script" uid="uid://dfl7khtlretr7" path="res://addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd" id="2"] -[ext_resource type="PackedScene" uid="uid://dmw5gicuenj53" path="res://addons/escoria-core/game/scenes/camera_player/camera.tscn" id="3"] [ext_resource type="PackedScene" uid="uid://0qms6fx5siad" path="res://addons/escoria-ui-simplemouse/verbs_mouseicons.tscn" id="4"] [ext_resource type="Script" uid="uid://dqrptsg8qv2o7" path="res://addons/escoria-ui-simplemouse/game.gd" id="5"] [ext_resource type="PackedScene" uid="uid://b3hru28v8y36i" path="res://addons/escoria-ui-simplemouse/tooltip/target_tooltip.tscn" id="6"] [ext_resource type="PackedScene" uid="uid://u8an5av5fuxx" path="res://addons/escoria-core/ui_library/menus/main_menu/main_menu.tscn" id="7"] -[ext_resource type="PackedScene" uid="uid://d0dgknfues04m" path="res://game/ui/inventory.tscn" id="7_2mv1l"] [ext_resource type="PackedScene" uid="uid://gfjgmbcafyyt" path="res://addons/escoria-core/ui_library/menus/pause_menu/pause_menu.tscn" id="8"] [ext_resource type="FontFile" path="res://addons/escoria-ui-simplemouse/fonts/caslonantique.tres" id="8_c4xbd"] [ext_resource type="Theme" uid="uid://cujvdn6gu1j74" path="res://addons/escoria-ui-simplemouse/theme.tres" id="9"] -[node name="game" type="Node2D" unique_id=786292577] +[node name="game" type="Node2D" unique_id=1682411223] script = ExtResource("5") main_menu = NodePath("ui/main_menu") pause_menu = NodePath("ui/pause_menu") editor_debug_mode = 1 -[node name="camera" parent="." unique_id=1900634094 instance=ExtResource("3")] - -[node name="dialog_layer" type="CanvasLayer" parent="." unique_id=463489275] +[node name="dialog_layer" type="CanvasLayer" parent="." unique_id=57427122] layer = 3 -[node name="ESCDialogPlayer" type="Control" parent="dialog_layer" unique_id=341263763] +[node name="ESCDialogPlayer" type="Control" parent="dialog_layer" unique_id=276945588] layout_mode = 3 anchors_preset = 0 theme = ExtResource("9") script = ExtResource("2") metadata/_custom_type_script = "uid://dfl7khtlretr7" -[node name="ui" type="CanvasLayer" parent="." unique_id=506331918] +[node name="ui" type="CanvasLayer" parent="." unique_id=2005332761] -[node name="tooltip" parent="ui" unique_id=1830597808 instance=ExtResource("6")] +[node name="tooltip" parent="ui" unique_id=745625052 instance=ExtResource("6")] offset_right = 1.0 mouse_filter = 2 theme_override_fonts/normal_font = ExtResource("8_c4xbd") @@ -39,9 +36,9 @@ theme_override_font_sizes/normal_font_size = 21 text = "[center][color=#000000][/color][/center]" fit_content = true -[node name="inventory_ui" parent="ui" unique_id=792363245 instance=ExtResource("7_2mv1l")] +[node name="inventory_ui" parent="ui" unique_id=52327563 instance=ExtResource("1")] -[node name="HBoxContainer" type="HBoxContainer" parent="ui" unique_id=8246514] +[node name="HBoxContainer" type="HBoxContainer" parent="ui" unique_id=1495159842] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 @@ -55,25 +52,25 @@ size_flags_horizontal = 3 size_flags_vertical = 3 mouse_filter = 2 -[node name="VBoxContainer" type="VBoxContainer" parent="ui/HBoxContainer" unique_id=669657222] +[node name="VBoxContainer" type="VBoxContainer" parent="ui/HBoxContainer" unique_id=349862624] layout_mode = 2 mouse_filter = 2 -[node name="MenuButton" type="Button" parent="ui/HBoxContainer/VBoxContainer" unique_id=878421894] +[node name="MenuButton" type="Button" parent="ui/HBoxContainer/VBoxContainer" unique_id=1574178031] layout_mode = 2 text = "Menu" -[node name="pause_menu" parent="ui" unique_id=828994872 instance=ExtResource("8")] +[node name="pause_menu" parent="ui" unique_id=2103269845 instance=ExtResource("8")] visible = false theme = ExtResource("9") -[node name="main_menu" parent="ui" unique_id=1361358924 instance=ExtResource("7")] +[node name="main_menu" parent="ui" unique_id=1468552475 instance=ExtResource("7")] visible = false -[node name="mouse_layer" type="CanvasLayer" parent="." unique_id=820408640] +[node name="mouse_layer" type="CanvasLayer" parent="." unique_id=1934925264] layer = 2 -[node name="verbs_menu" parent="mouse_layer" unique_id=50442657 instance=ExtResource("4")] +[node name="verbs_menu" parent="mouse_layer" unique_id=847506105 instance=ExtResource("4")] anchors_preset = 0 anchor_right = 0.0 anchor_bottom = 0.0 diff --git a/addons/escoria-ui-simplemouse/images/frame.png b/addons/escoria-ui-simplemouse/images/frame.png Binary files differindex 2831220..2831220 100644..100755 --- a/addons/escoria-ui-simplemouse/images/frame.png +++ b/addons/escoria-ui-simplemouse/images/frame.png diff --git a/addons/escoria-ui-simplemouse/images/inventory_bg.png b/addons/escoria-ui-simplemouse/images/inventory_bg.png Binary files differindex 0efa8a0..0efa8a0 100644..100755 --- a/addons/escoria-ui-simplemouse/images/inventory_bg.png +++ b/addons/escoria-ui-simplemouse/images/inventory_bg.png diff --git a/addons/escoria-ui-simplemouse/images/inventory_icon.png b/addons/escoria-ui-simplemouse/images/inventory_icon.png Binary files differindex 7f8f637..7f8f637 100644..100755 --- a/addons/escoria-ui-simplemouse/images/inventory_icon.png +++ b/addons/escoria-ui-simplemouse/images/inventory_icon.png diff --git a/addons/escoria-ui-simplemouse/verbs_mouseicons.gd b/addons/escoria-ui-simplemouse/verbs_mouseicons.gd index 0413fe6..4787abe 100644 --- a/addons/escoria-ui-simplemouse/verbs_mouseicons.gd +++ b/addons/escoria-ui-simplemouse/verbs_mouseicons.gd @@ -13,7 +13,7 @@ func _ready(): set_by_name("walk") set_process(false) -func _process(delta): +func _process(_delta): $mouse_position.global_position = get_global_mouse_position() diff --git a/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn b/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn index aab2453..6d95822 100644 --- a/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn +++ b/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn @@ -1,15 +1,16 @@ -[gd_scene load_steps=9 format=3 uid="uid://0qms6fx5siad"] +[gd_scene format=3 uid="uid://0qms6fx5siad"] [ext_resource type="Script" uid="uid://d2mlyj6637kqo" path="res://addons/escoria-ui-simplemouse/verbs_mouseicons.gd" id="1"] -[ext_resource type="Texture2D" uid="uid://dy1v07dsq0gv6" path="res://addons/escoria-ui-simplemouse/cursors/new/target_a.png" id="2_pg8p6"] -[ext_resource type="Texture2D" uid="uid://kntfqvpgma13" path="res://addons/escoria-ui-simplemouse/cursors/new/look_b.png" id="3_iryjo"] -[ext_resource type="Texture2D" uid="uid://2tj2uhyd8un1" path="res://addons/escoria-ui-simplemouse/cursors/new/hand_open.png" id="4_63dmd"] -[ext_resource type="Texture2D" uid="uid://c6dy0a2st8l6k" path="res://addons/escoria-ui-simplemouse/cursors/new/tool_wrench.png" id="5_8bddv"] -[ext_resource type="Texture2D" uid="uid://dsvbjwnblrs51" path="res://addons/escoria-ui-simplemouse/cursors/new/message_dots_round.png" id="6_u34a3"] -[ext_resource type="Texture2D" uid="uid://bmah30wxobv25" path="res://addons/escoria-ui-simplemouse/cursors/new/arrow_w.png" id="7_p2p4e"] -[ext_resource type="Texture2D" uid="uid://bm7mm8uhe2dey" path="res://addons/escoria-ui-simplemouse/cursors/new/arrow_e.png" id="8_5phyn"] +[ext_resource type="Texture2D" uid="uid://bjhpqqbhp4ab1" path="res://addons/escoria-ui-simplemouse/cursors/new/target_a.png" id="2_pg8p6"] +[ext_resource type="Texture2D" uid="uid://bki5oinr3dhfu" path="res://addons/escoria-ui-simplemouse/cursors/new/look_b.png" id="3_iryjo"] +[ext_resource type="Texture2D" uid="uid://dqgt2k4sw4au2" path="res://addons/escoria-ui-simplemouse/cursors/new/hand_open.png" id="4_63dmd"] +[ext_resource type="Texture2D" uid="uid://c8rnd6u3w72wu" path="res://addons/escoria-ui-simplemouse/cursors/new/tool_wrench.png" id="5_8bddv"] +[ext_resource type="Texture2D" uid="uid://blycbkrub7pae" path="res://addons/escoria-ui-simplemouse/cursors/new/message_dots_round.png" id="6_u34a3"] +[ext_resource type="Texture2D" uid="uid://bj476r0j38y5f" path="res://addons/escoria-ui-simplemouse/cursors/new/arrow_w.png" id="7_p2p4e"] +[ext_resource type="Texture2D" uid="uid://b46kn0ifqhiu4" path="res://addons/escoria-ui-simplemouse/cursors/new/arrow_e.png" id="8_5phyn"] +[ext_resource type="Texture2D" uid="uid://d4ljo7o1ji35p" path="res://addons/escoria-ui-simplemouse/cursors/new/wait_b.png" id="9_y6lk4"] -[node name="verbs_menu" type="Control"] +[node name="verbs_menu" type="Control" unique_id=464373944] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -18,7 +19,7 @@ grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1") -[node name="actions" type="HBoxContainer" parent="."] +[node name="actions" type="HBoxContainer" parent="." unique_id=656813212] visible = false layout_mode = 1 anchors_preset = 15 @@ -33,53 +34,59 @@ grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="walk" type="TextureRect" parent="actions"] +[node name="walk" type="TextureRect" parent="actions" unique_id=1781415821] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("2_pg8p6") -[node name="look" type="TextureRect" parent="actions"] +[node name="look" type="TextureRect" parent="actions" unique_id=1355662703] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("3_iryjo") -[node name="pickup" type="TextureRect" parent="actions"] +[node name="pickup" type="TextureRect" parent="actions" unique_id=842854713] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("4_63dmd") -[node name="use" type="TextureRect" parent="actions"] +[node name="use" type="TextureRect" parent="actions" unique_id=2122094372] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("5_8bddv") -[node name="talk" type="TextureRect" parent="actions"] +[node name="talk" type="TextureRect" parent="actions" unique_id=1900178148] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("6_u34a3") -[node name="exit_left" type="TextureRect" parent="actions"] +[node name="exit_left" type="TextureRect" parent="actions" unique_id=1689145058] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("7_p2p4e") -[node name="exit_right" type="TextureRect" parent="actions"] +[node name="exit_right" type="TextureRect" parent="actions" unique_id=415377045] layout_mode = 2 size_flags_horizontal = 6 size_flags_vertical = 6 texture = ExtResource("8_5phyn") -[node name="mouse_position" type="Control" parent="."] +[node name="wait" type="TextureRect" parent="actions" unique_id=1831818285] +layout_mode = 2 +size_flags_horizontal = 6 +size_flags_vertical = 4 +texture = ExtResource("9_y6lk4") + +[node name="mouse_position" type="Control" parent="." unique_id=1277781179] anchors_preset = 0 mouse_filter = 2 -[node name="tool" type="TextureRect" parent="mouse_position"] +[node name="tool" type="TextureRect" parent="mouse_position" unique_id=865144765] layout_mode = 0 offset_left = 48.0 offset_top = -16.0 |
