diff --git a/addons/escoria-core/game/core-scripts/esc/commands/change_scene.gd b/addons/escoria-core/game/core-scripts/esc/commands/change_scene.gd index 67a89fc2..be7a9bbe 100644 --- a/addons/escoria-core/game/core-scripts/esc/commands/change_scene.gd +++ b/addons/escoria-core/game/core-scripts/esc/commands/change_scene.gd @@ -59,6 +59,8 @@ func run(command_params: Array) -> int: escoria.main.current_scene.global_id, true ) + + escoria.event_manager.interrupt_running_event() if !command_params[1]: escoria.main.scene_transition.transition_out() diff --git a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd index 4015166a..0f33b81a 100644 --- a/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd +++ b/addons/escoria-core/game/core-scripts/esc/esc_action_manager.gd @@ -6,6 +6,9 @@ class_name ESCActionManager # The current action was changed signal action_changed +# Emitted, when an action has been completed +signal action_finished + # Current verb used var current_action: String = "" setget set_current_action @@ -109,6 +112,7 @@ func activate( if event_returned[0] == ESCExecution.RC_OK: escoria.action_manager\ .clear_current_action() + emit_signal("action_finished") return event_returned[0] else: var errors = [ @@ -120,14 +124,14 @@ func activate( ] if combine_with.node.combine_is_one_way: errors.append( - "Reason: %s's item interaction " +\ - "is one-way." % combine_with.global_id + ("Reason: %s's item interaction " +\ + "is one-way.") % combine_with.global_id ) escoria.logger.report_warnings( "ESCActionManager.activate: Invalid action", errors ) - + emit_signal("action_finished") return ESCExecution.RC_ERROR else: escoria.logger.report_warnings( @@ -140,13 +144,15 @@ func activate( combine_with.global_id ] ] - ) + ) + emit_signal("action_finished") return ESCExecution.RC_ERROR else: # We're missing a target here. # Tell the Label to add a conjunction and wait for another # click to add the target to p_param. Until then, return current_tool = target + emit_signal("action_finished") return ESCExecution.RC_OK else: escoria.logger.report_warnings( @@ -175,6 +181,7 @@ func activate( ) if event_returned[0] == ESCExecution.RC_OK: escoria.action_manager.clear_current_action() + emit_signal("action_finished") return event_returned[0] else: escoria.logger.report_warnings( @@ -186,4 +193,5 @@ func activate( ] ] ) + emit_signal("action_finished") return ESCExecution.RC_ERROR diff --git a/addons/escoria-core/game/core-scripts/esc_background.gd b/addons/escoria-core/game/core-scripts/esc_background.gd index 2b9845af..85d47405 100644 --- a/addons/escoria-core/game/core-scripts/esc_background.gd +++ b/addons/escoria-core/game/core-scripts/esc_background.gd @@ -67,9 +67,6 @@ func _enter_tree(): shape.set_extents(size / 2) area.shape_owner_add_shape(sid, shape) - # Handle inputs to the Area2D ourself - area.connect("input_event", self, "manage_input") - add_child(area) # Disable mouse filter events and connect our own events to the ESC input @@ -84,27 +81,30 @@ func _ready(): # Manage inputs reaching the Area2D and emit the events to the input manager # # #### Parameters -# - _viewport: (not used) # - event: Event received -# - _shape_idx: (not used) -func manage_input(_viewport, event, _shape_idx) -> void: +func _input(event) -> void: + if not escoria.current_state == escoria.GAME_STATE.DEFAULT: + return if event.is_action_pressed("switch_action_verb"): if event.button_index == BUTTON_WHEEL_UP: emit_signal("mouse_wheel_up") elif event.button_index == BUTTON_WHEEL_DOWN: emit_signal("mouse_wheel_down") - if event is InputEventMouseButton: + if event is InputEventMouseButton and event.is_pressed(): var p = get_global_mouse_position() - if event.doubleclick: - if event.button_index == BUTTON_LEFT: - emit_signal("double_left_click_on_bg", p) + var size + if get_texture(): + size = get_texture().get_size() else: - if event.is_pressed(): - if event.button_index == BUTTON_LEFT: - emit_signal("left_click_on_bg", p) - if event.button_index == BUTTON_RIGHT: - emit_signal("right_click_on_bg", p) - + size = rect_size + if Rect2(rect_position, size).has_point(p): + if event.doubleclick and event.button_index == BUTTON_LEFT: + emit_signal("double_left_click_on_bg", p) + elif event.button_index == BUTTON_LEFT: + emit_signal("left_click_on_bg", p) + elif event.button_index == BUTTON_RIGHT: + emit_signal("right_click_on_bg", p) + # Calculate the actual area taken by this background depending on its # Texture or set size diff --git a/addons/escoria-core/game/core-scripts/esc_controller.gd b/addons/escoria-core/game/core-scripts/esc_controller.gd index 0943c826..31de0127 100644 --- a/addons/escoria-core/game/core-scripts/esc_controller.gd +++ b/addons/escoria-core/game/core-scripts/esc_controller.gd @@ -3,7 +3,6 @@ # "click on background" -> player walks to position # "click on item" -> player walks to item then performs the action defined # by current verb - class_name ESCController diff --git a/addons/escoria-core/game/core-scripts/esc_item.gd b/addons/escoria-core/game/core-scripts/esc_item.gd index c78fe83f..9c7d1d77 100644 --- a/addons/escoria-core/game/core-scripts/esc_item.gd +++ b/addons/escoria-core/game/core-scripts/esc_item.gd @@ -162,8 +162,6 @@ func _ready(): connect("mouse_entered", self, "_on_mouse_entered") if not self.is_connected("mouse_exited", self, "_on_mouse_exited"): connect("mouse_exited", self, "_on_mouse_exited") - if not self.is_connected("input_event", self, "manage_input"): - connect("input_event", self, "manage_input") # Register and connect all elements to Escoria backoffice. if not Engine.is_editor_hint(): @@ -265,6 +263,39 @@ func _ready(): _movable.last_scale = scale _movable.update_terrain() +# Manage mouse button clicks on this item by sending out signals +# +# #### Parameters +# +# - event: Triggered event +func _input(event: InputEvent) -> void: + if not escoria.current_state == escoria.GAME_STATE.DEFAULT: + return + if event is InputEventMouseButton and event.is_pressed(): + var p = get_global_mouse_position() + var mouse_in_shape: bool = false + var colliders = get_world_2d().direct_space_state.intersect_point( + p, + 32, + [], + 2147483647, + true, + true + ) + for _owner in get_shape_owners(): + for _shape_id in range(0, shape_owner_get_shape_count(_owner)): + for _collider in colliders: + if _collider.collider == self and\ + _collider.shape == _shape_id: + mouse_in_shape = true + if mouse_in_shape: + if event.doubleclick and event.button_index == BUTTON_LEFT: + emit_signal("mouse_double_left_clicked_item", self, event) + elif event.button_index == BUTTON_LEFT: + emit_signal("mouse_left_clicked_item", self, event) + elif event.button_index == BUTTON_RIGHT: + emit_signal("mouse_right_clicked_item", self, event) + # Return the animation player node func get_animation_player() -> Node: @@ -291,9 +322,6 @@ func get_interact_position() -> Vector2: var interact_position = null for c in get_children(): if c is Position2D: - if c.get_owner() == self: - interact_position = global_position - continue interact_position = c.global_position if interact_position == null and collision != null: @@ -302,31 +330,6 @@ func get_interact_position() -> Vector2: return interact_position -# Manage mouse button clicks on this item by sending out signals -# -# #### Parameters -# -# - _viewport: not used -# - event: Triggered event -# - _shape_idx: not used -func manage_input( - _viewport: Viewport, - event: InputEvent, - _shape_idx: int -) -> void: - if event is InputEventMouseButton: - - if event.doubleclick: - if event.button_index == BUTTON_LEFT: - emit_signal("mouse_double_left_clicked_item", self, event) - else: - if event.is_pressed(): - if event.button_index == BUTTON_LEFT: - emit_signal("mouse_left_clicked_item", self, event) - elif event.button_index == BUTTON_RIGHT: - emit_signal("mouse_right_clicked_item", self, event) - - # React to the mouse entering the item by emitting the respective signal func _on_mouse_entered(): emit_signal("mouse_entered_item", self) diff --git a/addons/escoria-core/game/inputs_manager.gd b/addons/escoria-core/game/inputs_manager.gd index c30f8f90..ff1d9d30 100644 --- a/addons/escoria-core/game/inputs_manager.gd +++ b/addons/escoria-core/game/inputs_manager.gd @@ -21,7 +21,7 @@ var input_mode = INPUT_ALL # A LIFO stack of hovered items var hover_stack: Array = [] -# The global id fo the topmost item from the hover_stack +# The global id of the topmost item from the hover_stack var hotspot_focused: String = "" @@ -261,6 +261,7 @@ func _on_mouse_left_clicked_item(item: ESCItem, event: InputEvent) -> void: if input_mode == INPUT_ALL: if hover_stack.empty() or hover_stack.back() == item: escoria.logger.info("Item left clicked", [item.global_id, event]) + hotspot_focused = item.global_id escoria.main.current_scene.game.left_click_on_item( item.global_id, event @@ -279,6 +280,7 @@ func _on_mouse_left_double_clicked_item( ) -> void: if input_mode == INPUT_ALL: escoria.logger.info("Item left double clicked", [item.global_id, event]) + hotspot_focused = item.global_id escoria.main.current_scene.game.left_double_click_on_item( item.global_id, event @@ -294,6 +296,7 @@ func _on_mouse_left_double_clicked_item( func _on_mouse_right_clicked_item(item: ESCItem, event: InputEvent) -> void: if input_mode == INPUT_ALL: escoria.logger.info("Item right clicked", [item.global_id, event]) + hotspot_focused = item.global_id escoria.main.current_scene.game.right_click_on_item( item.global_id, event diff --git a/addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd b/addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd index e824ce94..92822f6c 100644 --- a/addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd +++ b/addons/escoria-core/game/scenes/dialogs/esc_dialog_player.gd @@ -68,11 +68,11 @@ func _get_voice_file(key: String, start: String = "") -> String: if _voice_file != "": return _voice_file else: - if file_name == "%s.%s" % [ + if file_name == "%s.%s.import" % [ key, ProjectSettings.get("escoria/sound/speech_extension") ]: - return start.plus_file(file_name) + return start.plus_file(file_name.trim_suffix(".import")) file_name = _dir.get_next() return "" diff --git a/addons/escoria-core/template_scenes/dialog_scenes/dialog_box_inset.gd b/addons/escoria-core/template_scenes/dialog_scenes/dialog_box_inset.gd index a7b5f7cf..b9208877 100644 --- a/addons/escoria-core/template_scenes/dialog_scenes/dialog_box_inset.gd +++ b/addons/escoria-core/template_scenes/dialog_scenes/dialog_box_inset.gd @@ -103,7 +103,6 @@ func _on_dialog_line_typed(object, key): # Ending the dialog func _on_dialog_finished(): - escoria.current_state = escoria.GAME_STATE.DEFAULT emit_signal("dialog_line_finished") queue_free() diff --git a/addons/escoria-core/template_scenes/dialog_scenes/dialog_label.gd b/addons/escoria-core/template_scenes/dialog_scenes/dialog_label.gd index 09f5ea59..eb3a17a9 100644 --- a/addons/escoria-core/template_scenes/dialog_scenes/dialog_label.gd +++ b/addons/escoria-core/template_scenes/dialog_scenes/dialog_label.gd @@ -91,5 +91,4 @@ func _on_dialog_finished(): current_character.stop_talking() emit_signal("dialog_line_finished") escoria.dialog_player.is_speaking = false - escoria.current_state = escoria.GAME_STATE.DEFAULT queue_free() diff --git a/addons/escoria-ui-9verbs/game.gd b/addons/escoria-ui-9verbs/game.gd index 94530fef..a5a8fdbc 100644 --- a/addons/escoria-ui-9verbs/game.gd +++ b/addons/escoria-ui-9verbs/game.gd @@ -30,18 +30,22 @@ Implement methods to react to inputs. - _on_event_done(event_name: String) """ -onready var verbs_menu = $ui/panel_down/verbs_layer/verbs_menu -onready var tooltip = $ui/panel_down/tooltip_layer/tooltip +onready var verbs_menu = $ui/Control/panel_down/VBoxContainer/HBoxContainer\ + /VerbsMargin/verbs_menu +onready var tooltip = $ui/Control/panel_down/VBoxContainer/tooltip +onready var room_select = $ui/Control/panel_down/VBoxContainer/HBoxContainer\ + /MainMargin/VBoxContainer/room_select +onready var pause_menu = $ui/pause_menu +onready var inventory_ui = $ui/Control/panel_down/VBoxContainer/HBoxContainer\ + /InventoryMargin/inventory_ui func _ready(): ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", false) - -func _input(event): - if event.is_action_pressed("switch_action_verb"): - if event.button_index == BUTTON_WHEEL_UP: - escoria.inputs_manager._on_mousewheel_action(-1) - elif event.button_index == BUTTON_WHEEL_DOWN: - escoria.inputs_manager._on_mousewheel_action(1) + escoria.action_manager.connect( + "action_finished", + self, + "_on_action_finished" + ) ## BACKGROUND ## @@ -90,7 +94,6 @@ func element_focused(element_id: String) -> void: func element_unfocused() -> void: tooltip.clear() - verbs_menu.unselect_actions() ## ITEMS ## @@ -151,18 +154,18 @@ func mousewheel_action(_direction: int): func hide_ui(): - $ui/panel_down.hide() + $ui/Control.hide() verbs_menu.hide() - $ui/panel_down/verbs_layer/room_select.hide() - $ui/panel_down/inventory_layer/inventory_ui.hide() + room_select.hide() + inventory_ui.hide() tooltip.hide() func show_ui(): - $ui/panel_down.show() + $ui/Control.show() verbs_menu.show() - $ui/panel_down/verbs_layer/room_select.show() - $ui/panel_down/inventory_layer/inventory_ui.show() + room_select.show() + inventory_ui.show() tooltip.show() func _on_event_done(_event_name: String): @@ -171,16 +174,24 @@ func _on_event_done(_event_name: String): func pause_game(): - if $ui/pause_menu.visible: - $ui/pause_menu.hide() + if pause_menu.visible: + pause_menu.hide() escoria.main.current_scene.game.get_node("camera").current = true escoria.main.current_scene.game.show_ui() escoria.main.current_scene.show() escoria.set_game_paused(false) else: - $ui/pause_menu.set_save_enabled(escoria.save_manager.save_enabled) - $ui/pause_menu.show() + pause_menu.set_save_enabled(escoria.save_manager.save_enabled) + pause_menu.show() escoria.main.current_scene.game.get_node("camera").current = false escoria.main.current_scene.game.hide_ui() escoria.main.current_scene.hide() escoria.set_game_paused(true) + + +func _on_MenuButton_pressed() -> void: + pause_game() + + +func _on_action_finished() -> void: + verbs_menu.unselect_actions() diff --git a/addons/escoria-ui-9verbs/game.tscn b/addons/escoria-ui-9verbs/game.tscn index 6bfbc647..4fdec609 100644 --- a/addons/escoria-ui-9verbs/game.tscn +++ b/addons/escoria-ui-9verbs/game.tscn @@ -18,62 +18,120 @@ script = ExtResource( 5 ) [node name="ui" type="CanvasLayer" parent="."] -[node name="panel_down" type="PanelContainer" parent="ui"] -anchor_top = 0.714 +[node name="Control" type="Control" parent="ui"] anchor_right = 1.0 anchor_bottom = 1.0 -margin_top = -0.200012 +mouse_filter = 2 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="panel_down" type="PanelContainer" parent="ui/Control"] +anchor_top = 0.7 +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_vertical = 3 custom_styles/panel = SubResource( 1 ) __meta__ = { "_edit_use_anchors_": false } -[node name="verbs_layer" type="CanvasLayer" parent="ui/panel_down"] -layer = 2 +[node name="VBoxContainer" type="VBoxContainer" parent="ui/Control/panel_down"] +margin_right = 1280.0 +margin_bottom = 270.0 -[node name="verbs_menu" parent="ui/panel_down/verbs_layer" instance=ExtResource( 3 )] -anchor_top = 0.715 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 52.0 -margin_top = 38.5 -margin_right = -959.0 -margin_bottom = -63.0 - -[node name="room_select" parent="ui/panel_down/verbs_layer" instance=ExtResource( 7 )] -margin_left = 503.504 -margin_top = 820.091 -margin_right = 686.504 -margin_bottom = 840.091 - -[node name="inventory_layer" type="CanvasLayer" parent="ui/panel_down"] -layer = 2 - -[node name="inventory_ui" parent="ui/panel_down/inventory_layer" instance=ExtResource( 2 )] -anchor_top = 0.722 -anchor_right = 1.0 -anchor_bottom = 1.0 -margin_left = 752.0 -margin_top = 31.2 -margin_right = -63.0 -margin_bottom = -61.0 - -[node name="tooltip_layer" type="CanvasLayer" parent="ui/panel_down"] -layer = 2 - -[node name="tooltip" parent="ui/panel_down/tooltip_layer" instance=ExtResource( 1 )] -anchor_left = 0.132 -anchor_top = 0.719 -anchor_right = 0.832 -anchor_bottom = 0.767 -margin_left = 0.0272522 -margin_top = 0.320557 -margin_right = -0.252686 -margin_bottom = -0.0794678 +[node name="tooltip" parent="ui/Control/panel_down/VBoxContainer" instance=ExtResource( 1 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 0.0 +margin_right = 1280.0 +margin_bottom = 32.0 rect_min_size = Vector2( 0, 32 ) script = ExtResource( 8 ) color = Color( 1, 1, 1, 1 ) +[node name="HSeparator" type="HSeparator" parent="ui/Control/panel_down/VBoxContainer"] +margin_top = 36.0 +margin_right = 1280.0 +margin_bottom = 46.0 +custom_constants/separation = 10 + +[node name="HBoxContainer" type="HBoxContainer" parent="ui/Control/panel_down/VBoxContainer"] +margin_top = 50.0 +margin_right = 1280.0 +margin_bottom = 270.0 +size_flags_vertical = 3 + +[node name="VerbsMargin" type="MarginContainer" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer"] +margin_right = 424.0 +margin_bottom = 220.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_right = 20 +custom_constants/margin_top = 20 +custom_constants/margin_left = 20 +custom_constants/margin_bottom = 20 + +[node name="verbs_menu" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/VerbsMargin" instance=ExtResource( 3 )] +margin_left = 20.0 +margin_top = 20.0 +margin_right = 404.0 +margin_bottom = 200.0 + +[node name="MainMargin" type="MarginContainer" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer"] +margin_left = 428.0 +margin_right = 852.0 +margin_bottom = 220.0 +size_flags_horizontal = 3 +custom_constants/margin_right = 20 +custom_constants/margin_top = 20 +custom_constants/margin_left = 20 +custom_constants/margin_bottom = 20 + +[node name="VBoxContainer" type="VBoxContainer" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/MainMargin"] +margin_left = 20.0 +margin_top = 20.0 +margin_right = 404.0 +margin_bottom = 200.0 + +[node name="MarginContainer" type="MarginContainer" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/MainMargin/VBoxContainer"] +margin_left = 142.0 +margin_top = 58.0 +margin_right = 242.0 +margin_bottom = 98.0 +rect_min_size = Vector2( 100, 40 ) +size_flags_horizontal = 6 +size_flags_vertical = 6 + +[node name="MenuButton" type="Button" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/MainMargin/VBoxContainer/MarginContainer"] +margin_right = 100.0 +margin_bottom = 40.0 +text = "Menu" + +[node name="room_select" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/MainMargin/VBoxContainer" instance=ExtResource( 7 )] +margin_top = 160.0 +margin_right = 384.0 +margin_bottom = 180.0 +size_flags_horizontal = 3 + +[node name="InventoryMargin" type="MarginContainer" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer"] +margin_left = 856.0 +margin_right = 1280.0 +margin_bottom = 220.0 +size_flags_horizontal = 3 +custom_constants/margin_right = 20 +custom_constants/margin_top = 20 +custom_constants/margin_left = 20 +custom_constants/margin_bottom = 20 + +[node name="inventory_ui" parent="ui/Control/panel_down/VBoxContainer/HBoxContainer/InventoryMargin" instance=ExtResource( 2 )] +margin_left = 20.0 +margin_top = 20.0 +margin_right = 404.0 +margin_bottom = 200.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + [node name="dialog_layer" type="CanvasLayer" parent="ui"] layer = 3 @@ -92,3 +150,5 @@ __meta__ = { visible = false [node name="camera" parent="." instance=ExtResource( 6 )] + +[connection signal="pressed" from="ui/Control/panel_down/VBoxContainer/HBoxContainer/MainMargin/VBoxContainer/MarginContainer/MenuButton" to="." method="_on_MenuButton_pressed"] diff --git a/addons/escoria-ui-simplemouse/game.gd b/addons/escoria-ui-simplemouse/game.gd index 8a9f38df..c0d524a0 100644 --- a/addons/escoria-ui-simplemouse/game.gd +++ b/addons/escoria-ui-simplemouse/game.gd @@ -32,6 +32,11 @@ Implement methods to react to inputs. func _ready(): ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", true) + escoria.action_manager.connect( + "action_finished", + self, + "_on_action_finished" + ) ## BACKGROUND ## @@ -42,17 +47,11 @@ func left_click_on_bg(position: Vector2) -> void: [escoria.main.current_scene.player.global_id, position], true ) - $ui/verbs_layer/verbs_menu.set_by_name("walk") - $ui/verbs_layer/verbs_menu.clear_tool_texture() + $CanvasLayer/ui/HBoxContainer/verbs_menu.set_by_name("walk") + $CanvasLayer/ui/HBoxContainer/verbs_menu.clear_tool_texture() func right_click_on_bg(position: Vector2) -> void: - escoria.do( - "walk", - [escoria.main.current_scene.player.global_id, position], - true - ) - $ui/verbs_layer/verbs_menu.set_by_name("walk") - $ui/verbs_layer/verbs_menu.clear_tool_texture() + mousewheel_action(1) func left_double_click_on_bg(position: Vector2) -> void: escoria.do( @@ -60,22 +59,24 @@ func left_double_click_on_bg(position: Vector2) -> void: [escoria.main.current_scene.player.global_id, position, true], true ) - $ui/verbs_layer/verbs_menu.set_by_name("walk") - $ui/verbs_layer/verbs_menu.clear_tool_texture() + $CanvasLayer/ui/HBoxContainer/verbs_menu.set_by_name("walk") + $CanvasLayer/ui/HBoxContainer/verbs_menu.clear_tool_texture() ## ITEM/HOTSPOT FOCUS ## func element_focused(element_id: String) -> void: var target_obj = escoria.object_manager.get_object(element_id).node - $ui/tooltip_layer/tooltip.set_target(target_obj.tooltip_name) + $tooltip_layer/tooltip.set_target(target_obj.tooltip_name) if escoria.action_manager.current_action != "use" \ and escoria.action_manager.current_tool == null: if target_obj is ESCItem: - $ui/verbs_layer/verbs_menu.set_by_name(target_obj.default_action) + $CanvasLayer/ui/HBoxContainer/verbs_menu.set_by_name( + target_obj.default_action + ) func element_unfocused() -> void: - $ui/tooltip_layer/tooltip.set_target("") + $tooltip_layer/tooltip.set_target("") ## ITEMS ## @@ -84,7 +85,7 @@ func left_click_on_item(item_global_id: String, event: InputEvent) -> void: escoria.do("item_left_click", [item_global_id, event], true) func right_click_on_item(item_global_id: String, event: InputEvent) -> void: - escoria.do("item_right_click", [item_global_id, event], true) + mousewheel_action(1) func left_double_click_on_item(item_global_id: String, event: InputEvent) -> void: escoria.do("item_left_click", [item_global_id, event], true) @@ -98,17 +99,17 @@ func left_click_on_inventory_item(inventory_item_global_id: String, event: Input inventory_item_global_id ).node if item.has_method("get_sprite") and item.get_sprite().texture: - $ui/verbs_layer/verbs_menu.set_tool_texture( + $CanvasLayer/ui/HBoxContainer/verbs_menu.set_tool_texture( item.get_sprite().texture ) elif item.inventory_item.texture_normal: - $ui/verbs_layer/verbs_menu.set_tool_texture( + $CanvasLayer/ui/HBoxContainer/verbs_menu.set_tool_texture( item.inventory_item.texture_normal ) func right_click_on_inventory_item(inventory_item_global_id: String, event: InputEvent) -> void: - escoria.do("item_right_click", [inventory_item_global_id, event], true) + mousewheel_action(1) func left_double_click_on_inventory_item(inventory_item_global_id: String, event: InputEvent) -> void: @@ -116,7 +117,7 @@ func left_double_click_on_inventory_item(inventory_item_global_id: String, event func inventory_item_focused(inventory_item_global_id: String) -> void: - $ui/tooltip_layer/tooltip.set_target( + $tooltip_layer/tooltip.set_target( escoria.object_manager.get_object( inventory_item_global_id ).node.tooltip_name @@ -124,43 +125,53 @@ func inventory_item_focused(inventory_item_global_id: String) -> void: func inventory_item_unfocused() -> void: - $ui/tooltip_layer/tooltip.set_target("") + $tooltip_layer/tooltip.set_target("") func open_inventory(): - $ui/inventory_layer/inventory_ui/inventory_button.show_inventory() + $CanvasLayer/ui/HBoxContainer/inventory_ui.show_inventory() func close_inventory(): - $ui/inventory_layer/inventory_ui/inventory_button.close_inventory() + $CanvasLayer/ui/HBoxContainer/inventory_ui.hide_inventory() func mousewheel_action(direction: int): - $ui/verbs_layer/verbs_menu.iterate_actions_cursor(direction) + $CanvasLayer/ui/HBoxContainer/verbs_menu.iterate_actions_cursor(direction) func hide_ui(): - $ui/inventory_layer/inventory_ui.hide() + $CanvasLayer/ui/HBoxContainer/inventory_ui.hide() func show_ui(): - $ui/inventory_layer/inventory_ui.show() + $CanvasLayer/ui/HBoxContainer/inventory_ui.show() func _on_event_done(event_name: String): escoria.action_manager.clear_current_action() - $ui/verbs_layer/verbs_menu.clear_tool_texture() + $CanvasLayer/ui/HBoxContainer/verbs_menu.clear_tool_texture() func pause_game(): - if $ui/pause_menu.visible: - $ui/pause_menu.hide() + if $CanvasLayer/pause_menu.visible: + $CanvasLayer/pause_menu.hide() escoria.main.current_scene.game.get_node("camera").current = true escoria.main.current_scene.game.show_ui() escoria.main.current_scene.show() else: - $ui/pause_menu.set_save_enabled(escoria.save_manager.save_enabled) - $ui/pause_menu.show() + $CanvasLayer/pause_menu.set_save_enabled( + escoria.save_manager.save_enabled + ) + $CanvasLayer/pause_menu.show() escoria.main.current_scene.game.get_node("camera").current = false escoria.main.current_scene.game.hide_ui() escoria.main.current_scene.hide() + + +func _on_action_finished(): + $CanvasLayer/ui/HBoxContainer/verbs_menu.clear_tool_texture() + + +func _on_MenuButton_pressed() -> void: + pause_game() diff --git a/addons/escoria-ui-simplemouse/game.tscn b/addons/escoria-ui-simplemouse/game.tscn index 62208532..b536fc6f 100644 --- a/addons/escoria-ui-simplemouse/game.tscn +++ b/addons/escoria-ui-simplemouse/game.tscn @@ -13,46 +13,80 @@ script = ExtResource( 5 ) editor_debug_mode = 1 -[node name="ui" type="CanvasLayer" parent="."] +[node name="camera" parent="." instance=ExtResource( 3 )] -[node name="inventory_layer" type="CanvasLayer" parent="ui"] -layer = 2 +[node name="CanvasLayer" type="CanvasLayer" parent="."] -[node name="inventory_ui" parent="ui/inventory_layer" instance=ExtResource( 1 )] -margin_left = 1173.73 -margin_top = 695.268 -margin_right = 394.205 -margin_bottom = 587.268 +[node name="ui" type="Control" parent="CanvasLayer"] +anchor_top = 0.9 +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} -[node name="verbs_layer" type="CanvasLayer" parent="ui"] -layer = 2 +[node name="HBoxContainer" type="HBoxContainer" parent="CanvasLayer/ui"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": false +} -[node name="verbs_menu" parent="ui/verbs_layer" instance=ExtResource( 4 )] -margin_left = 2234.6 -margin_top = -583.507 -margin_right = 2234.6 -margin_bottom = -583.507 +[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/ui/HBoxContainer"] +margin_right = 200.0 +margin_bottom = 90.0 -[node name="tooltip_layer" type="CanvasLayer" parent="ui"] -layer = 2 +[node name="MenuButton" type="Button" parent="CanvasLayer/ui/HBoxContainer/VBoxContainer"] +margin_right = 200.0 +margin_bottom = 20.0 +text = "Menu" -[node name="tooltip" parent="ui/tooltip_layer" instance=ExtResource( 6 )] -mouse_filter = 2 -bbcode_text = "[center][color=#000000][/color][/center]" -offset_from_cursor = Vector2( 75, 10 ) +[node name="room_select" parent="CanvasLayer/ui/HBoxContainer/VBoxContainer" instance=ExtResource( 7 )] +margin_top = 47.0 +margin_right = 200.0 +margin_bottom = 67.0 +rect_min_size = Vector2( 200, 0 ) +size_flags_horizontal = 2 +size_flags_vertical = 6 -[node name="dialog_layer" type="CanvasLayer" parent="ui"] -layer = 3 +[node name="verbs_menu" parent="CanvasLayer/ui/HBoxContainer" instance=ExtResource( 4 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 204.0 +margin_right = 204.0 +margin_bottom = 90.0 +grow_horizontal = 0 +size_flags_horizontal = 2 +size_flags_vertical = 3 +size_flags_stretch_ratio = 3.0 -[node name="dialog_player" parent="ui/dialog_layer" instance=ExtResource( 2 )] +[node name="inventory_ui" parent="CanvasLayer/ui/HBoxContainer" instance=ExtResource( 1 )] +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 1190.0 +margin_right = 1280.0 +margin_bottom = 90.0 +rect_scale = Vector2( 1, 1 ) -[node name="room_select" parent="ui" instance=ExtResource( 7 )] -margin_left = 75.5099 -margin_top = 751.323 -margin_right = 138.51 -margin_bottom = 791.324 - -[node name="pause_menu" parent="ui" instance=ExtResource( 8 )] +[node name="pause_menu" parent="CanvasLayer" instance=ExtResource( 8 )] visible = false -[node name="camera" parent="." instance=ExtResource( 3 )] +[node name="dialog_layer" type="CanvasLayer" parent="."] +layer = 3 + +[node name="dialog_player" parent="dialog_layer" instance=ExtResource( 2 )] + +[node name="tooltip_layer" type="CanvasLayer" parent="."] +layer = 2 + +[node name="tooltip" parent="tooltip_layer" instance=ExtResource( 6 )] +mouse_filter = 2 +bbcode_text = "[center][color=#000000][/color][/center]" +fit_content_height = true +offset_from_cursor = Vector2( 75, 10 ) + +[connection signal="pressed" from="CanvasLayer/ui/HBoxContainer/VBoxContainer/MenuButton" to="." method="_on_MenuButton_pressed"] diff --git a/addons/escoria-ui-simplemouse/inventory/inventory_showhide.gd b/addons/escoria-ui-simplemouse/inventory/inventory_showhide.gd deleted file mode 100644 index bd541840..00000000 --- a/addons/escoria-ui-simplemouse/inventory/inventory_showhide.gd +++ /dev/null @@ -1,25 +0,0 @@ -extends Control - -var showed: bool = false - -func _ready(): - pass - - -func _on_inventory_button_pressed(): - if !$AnimationPlayer.is_playing() and !showed: - show_inventory() - elif !$AnimationPlayer.is_playing() and showed: - close_inventory() - - -func show_inventory(): - $AnimationPlayer.play("show") - yield($AnimationPlayer, "animation_finished") - showed = true - - -func close_inventory(): - $AnimationPlayer.play("hide") - yield($AnimationPlayer, "animation_finished") - showed = false diff --git a/addons/escoria-ui-simplemouse/inventory/inventory_ui.gd b/addons/escoria-ui-simplemouse/inventory/inventory_ui.gd new file mode 100644 index 00000000..0314711d --- /dev/null +++ b/addons/escoria-ui-simplemouse/inventory/inventory_ui.gd @@ -0,0 +1,55 @@ +extends ESCInventory + + +# Wether the inventory is visible currently +var inventory_visible: bool = false + + +func _ready() -> void: + # Hide inventory by default + $FloatingInventory/panel.rect_position.x = \ + ProjectSettings.get_setting("display/window/size/width") + +func _on_inventory_button_pressed(): + if $FloatingInventory/InventoryTween.is_active(): + return + if inventory_visible: + hide_inventory() + else: + show_inventory() + + +func show_inventory(): + $FloatingInventory/InventoryTween.stop_all() + $FloatingInventory/InventoryTween.remove_all() + $FloatingInventory/InventoryTween.interpolate_property( + $FloatingInventory/panel, + "rect_position:x", + $FloatingInventory/panel.rect_position.x, + $FloatingInventory/panel.rect_position.x - \ + $FloatingInventory/panel.rect_size.x - \ + $HBoxContainer/inventory_button.rect_size.x, + 0.6 + ) + $FloatingInventory/InventoryTween.start() + yield($FloatingInventory/InventoryTween,"tween_all_completed") + $FloatingInventory/InventoryTween.stop_all() + inventory_visible = true + + +func hide_inventory(): + $FloatingInventory/InventoryTween.stop_all() + $FloatingInventory/InventoryTween.remove_all() + $FloatingInventory/InventoryTween.interpolate_property( + $FloatingInventory/panel, + "rect_position:x", + $FloatingInventory/panel.rect_position.x, + $FloatingInventory/panel.rect_position.x + \ + $FloatingInventory/panel.rect_size.x + \ + $HBoxContainer/inventory_button.rect_size.x, + 0.6 + ) + $FloatingInventory/InventoryTween.start() + yield($FloatingInventory/InventoryTween,"tween_all_completed") + $FloatingInventory/InventoryTween.stop_all() + inventory_visible = false diff --git a/addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn b/addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn index b995a24f..0009a715 100644 --- a/addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn +++ b/addons/escoria-ui-simplemouse/inventory/inventory_ui.tscn @@ -1,143 +1,79 @@ -[gd_scene load_steps=9 format=2] +[gd_scene load_steps=6 format=2] -[ext_resource path="res://addons/escoria-core/game/scenes/inventory/inventory_ui.gd" type="Script" id=1] +[ext_resource path="res://addons/escoria-ui-simplemouse/inventory/inventory_ui.gd" type="Script" id=1] [ext_resource path="res://addons/escoria-ui-simplemouse/images/inventory_bg.png" type="Texture" id=2] [ext_resource path="res://addons/escoria-ui-simplemouse/inventory/inventory_ui_container.gd" type="Script" id=3] -[ext_resource path="res://addons/escoria-ui-simplemouse/inventory/inventory_showhide.gd" type="Script" id=4] [ext_resource path="res://addons/escoria-ui-simplemouse/images/frame.png" type="Texture" id=5] [ext_resource path="res://addons/escoria-ui-simplemouse/images/inventory_icon.png" type="Texture" id=6] -[sub_resource type="Animation" id=1] -resource_name = "hide" -length = 0.3 -tracks/0/type = "value" -tracks/0/path = NodePath(".:rect_position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} -tracks/1/type = "value" -tracks/1/path = NodePath("../inventory_button:rect_position") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} -tracks/2/type = "value" -tracks/2/path = NodePath("../inventory_button/panel:rect_position") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0, 0.3 ), -"transitions": PoolRealArray( 1, 1 ), -"update": 0, -"values": [ Vector2( -1682.88, -52 ), Vector2( 268, -52 ) ] -} - -[sub_resource type="Animation" id=2] -resource_name = "show" -length = 0.3 -tracks/0/type = "value" -tracks/0/path = NodePath(".:rect_position") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} -tracks/1/type = "value" -tracks/1/path = NodePath("../inventory_button:rect_position") -tracks/1/interp = 1 -tracks/1/loop_wrap = true -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/keys = { -"times": PoolRealArray( 0 ), -"transitions": PoolRealArray( 1 ), -"update": 0, -"values": [ Vector2( 0, 0 ) ] -} -tracks/2/type = "value" -tracks/2/path = NodePath("../inventory_button/panel:rect_position") -tracks/2/interp = 1 -tracks/2/loop_wrap = true -tracks/2/imported = false -tracks/2/enabled = true -tracks/2/keys = { -"times": PoolRealArray( 0, 0.3 ), -"transitions": PoolRealArray( 1, 1 ), -"update": 0, -"values": [ Vector2( 268, -52 ), Vector2( -1682.88, -52 ) ] -} - [node name="inventory_ui" type="Control"] -anchor_right = 0.609 -anchor_bottom = 0.135 -margin_right = -779.52 -margin_bottom = -108.0 +anchor_right = 0.4 +anchor_bottom = 0.4 +margin_right = 768.0 +margin_bottom = 540.0 +rect_min_size = Vector2( 90, 90 ) rect_scale = Vector2( 0.4, 0.4 ) +size_flags_horizontal = 0 +size_flags_vertical = 3 script = ExtResource( 1 ) __meta__ = { -"_edit_use_anchors_": false +"_edit_use_anchors_": true } -inventory_ui_container = NodePath("inventory_button/panel/MarginContainer/ScrollContainer/container") +inventory_ui_container = NodePath("FloatingInventory/panel/MarginContainer/ScrollContainer/container") -[node name="inventory_button" type="TextureButton" parent="."] -margin_right = 256.0 -margin_bottom = 322.0 -texture_normal = ExtResource( 6 ) -script = ExtResource( 4 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="frame" type="TextureRect" parent="inventory_button"] -margin_right = 2643.0 -margin_bottom = 2630.0 -rect_scale = Vector2( 0.1, 0.1 ) -texture = ExtResource( 5 ) -stretch_mode = 1 -__meta__ = { -"_edit_lock_": true, -"_edit_use_anchors_": false -} - -[node name="panel" type="TextureRect" parent="inventory_button"] -margin_left = 268.0 -margin_top = -52.0 -margin_right = 1957.0 -margin_bottom = 270.0 -grow_horizontal = 0 -rect_min_size = Vector2( 1689, 322 ) -texture = ExtResource( 2 ) -__meta__ = { -"_edit_use_anchors_": false -} - -[node name="MarginContainer" type="MarginContainer" parent="inventory_button/panel"] +[node name="HBoxContainer" type="HBoxContainer" parent="."] anchor_right = 1.0 anchor_bottom = 1.0 -margin_left = 57.0 -margin_top = 37.0 -margin_right = -68.0 -margin_bottom = -71.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="inventory_button" type="TextureButton" parent="HBoxContainer"] +margin_right = 1280.0 +margin_bottom = 900.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture_normal = ExtResource( 6 ) +expand = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="frame" type="TextureRect" parent="HBoxContainer/inventory_button"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 5 ) +expand = true +stretch_mode = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="FloatingInventory" type="CanvasLayer" parent="."] + +[node name="panel" type="TextureRect" parent="FloatingInventory"] +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = -516.0 +margin_top = -160.0 +rect_min_size = Vector2( 0, 160 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +texture = ExtResource( 2 ) +expand = true +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="MarginContainer" type="MarginContainer" parent="FloatingInventory/panel"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 custom_constants/margin_right = 20 custom_constants/margin_top = 20 custom_constants/margin_left = 20 @@ -146,23 +82,22 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="ScrollContainer" type="ScrollContainer" parent="inventory_button/panel/MarginContainer"] +[node name="ScrollContainer" type="ScrollContainer" parent="FloatingInventory/panel/MarginContainer"] margin_left = 20.0 -margin_top = 20.0 -margin_right = 1544.0 -margin_bottom = 194.0 +margin_top = 80.0 +margin_right = 496.0 +margin_bottom = 80.0 +size_flags_horizontal = 3 +size_flags_vertical = 6 scroll_vertical_enabled = false -[node name="container" type="HBoxContainer" parent="inventory_button/panel/MarginContainer/ScrollContainer"] -margin_right = 1524.0 -margin_bottom = 174.0 +[node name="container" type="HBoxContainer" parent="FloatingInventory/panel/MarginContainer/ScrollContainer"] +margin_right = 476.0 size_flags_horizontal = 3 size_flags_vertical = 3 custom_constants/separation = 20 script = ExtResource( 3 ) -[node name="AnimationPlayer" type="AnimationPlayer" parent="inventory_button"] -anims/hide = SubResource( 1 ) -anims/show = SubResource( 2 ) +[node name="InventoryTween" type="Tween" parent="FloatingInventory"] -[connection signal="pressed" from="inventory_button" to="inventory_button" method="_on_inventory_button_pressed"] +[connection signal="pressed" from="HBoxContainer/inventory_button" to="." method="_on_inventory_button_pressed"] diff --git a/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn b/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn index c98c40fd..2b59d218 100644 --- a/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn +++ b/addons/escoria-ui-simplemouse/verbs_mouseicons.tscn @@ -8,48 +8,66 @@ [ext_resource path="res://addons/escoria-ui-simplemouse/cursors/cursor_hand.png" type="Texture" id=6] [node name="verbs_menu" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 script = ExtResource( 1 ) __meta__ = { "_edit_use_anchors_": false } -[node name="actions" type="GridContainer" parent="."] +[node name="actions" type="HBoxContainer" parent="."] visible = false -margin_right = 333.0 -margin_bottom = 175.0 -columns = 3 +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 __meta__ = { "_edit_use_anchors_": false } [node name="walk" type="TextureRect" parent="actions"] -margin_right = 64.0 -margin_bottom = 64.0 +margin_left = 94.0 +margin_top = 418.0 +margin_right = 158.0 +margin_bottom = 482.0 +size_flags_horizontal = 6 +size_flags_vertical = 6 texture = ExtResource( 5 ) [node name="look" type="TextureRect" parent="actions"] -margin_left = 68.0 -margin_right = 132.0 -margin_bottom = 64.0 +margin_left = 350.0 +margin_top = 418.0 +margin_right = 414.0 +margin_bottom = 482.0 +size_flags_horizontal = 6 +size_flags_vertical = 6 texture = ExtResource( 2 ) [node name="pickup" type="TextureRect" parent="actions"] -margin_left = 136.0 -margin_right = 200.0 -margin_bottom = 64.0 +margin_left = 607.0 +margin_top = 418.0 +margin_right = 671.0 +margin_bottom = 482.0 +size_flags_horizontal = 6 +size_flags_vertical = 6 texture = ExtResource( 6 ) [node name="use" type="TextureRect" parent="actions"] -margin_top = 68.0 -margin_right = 64.0 -margin_bottom = 132.0 +margin_left = 864.0 +margin_top = 418.0 +margin_right = 928.0 +margin_bottom = 482.0 +size_flags_horizontal = 6 +size_flags_vertical = 6 texture = ExtResource( 3 ) [node name="talk" type="TextureRect" parent="actions"] -margin_left = 68.0 -margin_top = 68.0 -margin_right = 132.0 -margin_bottom = 132.0 +margin_left = 1121.0 +margin_top = 418.0 +margin_right = 1185.0 +margin_bottom = 482.0 +size_flags_horizontal = 6 +size_flags_vertical = 6 texture = ExtResource( 4 ) [node name="mouse_position" type="Control" parent="."] diff --git a/docs/api/ESCActionManager.md b/docs/api/ESCActionManager.md index da129659..2329c37d 100644 --- a/docs/api/ESCActionManager.md +++ b/docs/api/ESCActionManager.md @@ -63,3 +63,4 @@ func activate(action: String, target: ESCObject, combine_with: ESCObject = null) ## Signals - signal action_changed(): The current action was changed +- signal action_finished(): Emitted, when an action has been completed diff --git a/docs/api/ESCBackground.md b/docs/api/ESCBackground.md index d61a826d..99b71a12 100644 --- a/docs/api/ESCBackground.md +++ b/docs/api/ESCBackground.md @@ -29,19 +29,6 @@ The ESC script connected to this background ## Method Descriptions -### manage\_input - -```gdscript -func manage_input(_viewport, event, _shape_idx) -> void -``` - -Manage inputs reaching the Area2D and emit the events to the input manager - -#### Parameters -- _viewport: (not used) -- event: Event received -- _shape_idx: (not used) - ### get\_full\_area\_rect2 ```gdscript diff --git a/docs/api/ESCInputsManager.md b/docs/api/ESCInputsManager.md index 4a2c40de..d6067e2f 100644 --- a/docs/api/ESCInputsManager.md +++ b/docs/api/ESCInputsManager.md @@ -53,7 +53,7 @@ A LIFO stack of hovered items var hotspot_focused: String = "" ``` -The global id fo the topmost item from the hover_stack +The global id of the topmost item from the hover_stack ## Method Descriptions diff --git a/docs/api/ESCItem.md b/docs/api/ESCItem.md index 35320348..6a1b6883 100644 --- a/docs/api/ESCItem.md +++ b/docs/api/ESCItem.md @@ -258,12 +258,6 @@ item. That can either be a direct Position2D child or a collision shape **Returns** The interaction position -### manage\_input - -```gdscript -func manage_input(_viewport: Viewport, event: InputEvent, _shape_idx: int) -> void -``` - ### element\_entered ```gdscript diff --git a/export_presets.cfg b/export_presets.cfg index 54c05b54..6ee9a851 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -127,4 +127,334 @@ vram_texture_compression/for_desktop=true vram_texture_compression/for_mobile=false html/custom_html_shell="" html/head_include="" -html/full_window_size=true +html/canvas_resize_policy=2 +html/experimental_virtual_keyboard=false + +[preset.4] + +name="iOS" +platform="iOS" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="*.esc" +exclude_filter="" +export_path="../../../../Documents/godot_render/escoria/Escoria.ipa" +script_export_mode=1 +script_encryption_key="" + +[preset.4.options] + +custom_template/debug="" +custom_template/release="" +architectures/armv7=false +architectures/arm64=true +application/app_store_team_id="D85KFHH3UF" +application/provisioning_profile_uuid_debug="" +application/code_sign_identity_debug="iPhone Developer" +application/export_method_debug=1 +application/provisioning_profile_uuid_release="" +application/code_sign_identity_release="" +application/export_method_release=0 +application/name="Escoria Demo Game" +application/info="Made with Godot Engine" +application/identifier="com.github.godot-escoria" +application/signature="" +application/short_version="1.0" +application/version="1.0" +application/copyright="" +capabilities/access_wifi=false +capabilities/push_notifications=false +user_data/accessible_from_files_app=false +user_data/accessible_from_itunes_sharing=false +privacy/camera_usage_description="" +privacy/microphone_usage_description="" +privacy/photolibrary_usage_description="" +orientation/portrait=false +orientation/landscape_left=true +orientation/landscape_right=true +orientation/portrait_upside_down=false +required_icons/iphone_120x120="res://game/appicons/Assets.xcassets/AppIcon.appiconset/120.png" +required_icons/ipad_76x76="res://game/appicons/Assets.xcassets/AppIcon.appiconset/76.png" +required_icons/app_store_1024x1024="res://game/appicons/Assets.xcassets/AppIcon.appiconset/1024.png" +optional_icons/iphone_180x180="res://game/appicons/Assets.xcassets/AppIcon.appiconset/180.png" +optional_icons/ipad_152x152="res://game/appicons/Assets.xcassets/AppIcon.appiconset/152.png" +optional_icons/ipad_167x167="res://game/appicons/Assets.xcassets/AppIcon.appiconset/167.png" +optional_icons/spotlight_40x40="res://game/appicons/Assets.xcassets/AppIcon.appiconset/40.png" +optional_icons/spotlight_80x80="res://game/appicons/Assets.xcassets/AppIcon.appiconset/80.png" +storyboard/use_launch_screen_storyboard=false +storyboard/image_scale_mode=0 +storyboard/custom_image@2x="" +storyboard/custom_image@3x="" +storyboard/use_custom_bg_color=false +storyboard/custom_bg_color=Color( 0, 0, 0, 1 ) +landscape_launch_screens/iphone_2436x1125="" +landscape_launch_screens/iphone_2208x1242="" +landscape_launch_screens/ipad_1024x768="" +landscape_launch_screens/ipad_2048x1536="" +portrait_launch_screens/iphone_640x960="" +portrait_launch_screens/iphone_640x1136="" +portrait_launch_screens/iphone_750x1334="" +portrait_launch_screens/iphone_1125x2436="" +portrait_launch_screens/ipad_768x1024="" +portrait_launch_screens/ipad_1536x2048="" +portrait_launch_screens/iphone_1242x2208="" + +[preset.5] + +name="Mac OSX" +platform="Mac OSX" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="*.esc" +exclude_filter="" +export_path="" +script_export_mode=1 +script_encryption_key="" + +[preset.5.options] + +custom_template/debug="" +custom_template/release="" +application/name="Escoria Demo Game" +application/info="Made with Godot Engine" +application/icon="res://game/appicons/appstore.png" +application/identifier="" +application/signature="" +application/short_version="1.0" +application/version="1.0" +application/copyright="" +display/high_res=false +privacy/camera_usage_description="" +privacy/microphone_usage_description="" +codesign/enable=true +codesign/identity="" +codesign/timestamp=true +codesign/hardened_runtime=true +codesign/replace_existing_signature=true +codesign/entitlements/custom_file="" +codesign/entitlements/allow_jit_code_execution=false +codesign/entitlements/allow_unsigned_executable_memory=false +codesign/entitlements/allow_dyld_environment_variables=false +codesign/entitlements/disable_library_validation=false +codesign/entitlements/audio_input=false +codesign/entitlements/camera=false +codesign/entitlements/location=false +codesign/entitlements/address_book=false +codesign/entitlements/calendars=false +codesign/entitlements/photos_library=false +codesign/entitlements/apple_events=false +codesign/entitlements/app_sandbox/enabled=false +codesign/entitlements/app_sandbox/network_server=false +codesign/entitlements/app_sandbox/network_client=false +codesign/entitlements/app_sandbox/device_usb=false +codesign/entitlements/app_sandbox/device_bluetooth=false +codesign/entitlements/app_sandbox/files_downloads=0 +codesign/entitlements/app_sandbox/files_pictures=0 +codesign/entitlements/app_sandbox/files_music=0 +codesign/entitlements/app_sandbox/files_movies=0 +codesign/custom_options=PoolStringArray( ) +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false + +[preset.6] + +name="Android" +platform="Android" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="*.esc" +exclude_filter="" +export_path="../../../../Documents/godot_render/escoria/Escoria.apk" +script_export_mode=1 +script_encryption_key="" + +[preset.6.options] + +custom_template/debug="" +custom_template/release="" +custom_template/use_custom_build=false +custom_template/export_format=0 +architectures/armeabi-v7a=true +architectures/arm64-v8a=true +architectures/x86=false +architectures/x86_64=false +keystore/debug="" +keystore/debug_user="" +keystore/debug_password="" +keystore/release="" +keystore/release_user="" +keystore/release_password="" +one_click_deploy/clear_previous_install=false +version/code=1 +version/name="1.0" +package/unique_name="org.godotengine.$genname" +package/name="" +package/signed=true +launcher_icons/main_192x192="" +launcher_icons/adaptive_foreground_432x432="" +launcher_icons/adaptive_background_432x432="" +graphics/32_bits_framebuffer=true +graphics/opengl_debug=false +xr_features/xr_mode=0 +xr_features/degrees_of_freedom=0 +xr_features/hand_tracking=0 +xr_features/focus_awareness=false +screen/immersive_mode=true +screen/support_small=true +screen/support_normal=true +screen/support_large=true +screen/support_xlarge=true +command_line/extra_args="" +apk_expansion/enable=false +apk_expansion/SALT="" +apk_expansion/public_key="" +permissions/custom_permissions=PoolStringArray( ) +permissions/access_checkin_properties=false +permissions/access_coarse_location=false +permissions/access_fine_location=false +permissions/access_location_extra_commands=false +permissions/access_mock_location=false +permissions/access_network_state=false +permissions/access_surface_flinger=false +permissions/access_wifi_state=false +permissions/account_manager=false +permissions/add_voicemail=false +permissions/authenticate_accounts=false +permissions/battery_stats=false +permissions/bind_accessibility_service=false +permissions/bind_appwidget=false +permissions/bind_device_admin=false +permissions/bind_input_method=false +permissions/bind_nfc_service=false +permissions/bind_notification_listener_service=false +permissions/bind_print_service=false +permissions/bind_remoteviews=false +permissions/bind_text_service=false +permissions/bind_vpn_service=false +permissions/bind_wallpaper=false +permissions/bluetooth=false +permissions/bluetooth_admin=false +permissions/bluetooth_privileged=false +permissions/brick=false +permissions/broadcast_package_removed=false +permissions/broadcast_sms=false +permissions/broadcast_sticky=false +permissions/broadcast_wap_push=false +permissions/call_phone=false +permissions/call_privileged=false +permissions/camera=false +permissions/capture_audio_output=false +permissions/capture_secure_video_output=false +permissions/capture_video_output=false +permissions/change_component_enabled_state=false +permissions/change_configuration=false +permissions/change_network_state=false +permissions/change_wifi_multicast_state=false +permissions/change_wifi_state=false +permissions/clear_app_cache=false +permissions/clear_app_user_data=false +permissions/control_location_updates=false +permissions/delete_cache_files=false +permissions/delete_packages=false +permissions/device_power=false +permissions/diagnostic=false +permissions/disable_keyguard=false +permissions/dump=false +permissions/expand_status_bar=false +permissions/factory_test=false +permissions/flashlight=false +permissions/force_back=false +permissions/get_accounts=false +permissions/get_package_size=false +permissions/get_tasks=false +permissions/get_top_activity_info=false +permissions/global_search=false +permissions/hardware_test=false +permissions/inject_events=false +permissions/install_location_provider=false +permissions/install_packages=false +permissions/install_shortcut=false +permissions/internal_system_window=false +permissions/internet=false +permissions/kill_background_processes=false +permissions/location_hardware=false +permissions/manage_accounts=false +permissions/manage_app_tokens=false +permissions/manage_documents=false +permissions/master_clear=false +permissions/media_content_control=false +permissions/modify_audio_settings=false +permissions/modify_phone_state=false +permissions/mount_format_filesystems=false +permissions/mount_unmount_filesystems=false +permissions/nfc=false +permissions/persistent_activity=false +permissions/process_outgoing_calls=false +permissions/read_calendar=false +permissions/read_call_log=false +permissions/read_contacts=false +permissions/read_external_storage=false +permissions/read_frame_buffer=false +permissions/read_history_bookmarks=false +permissions/read_input_state=false +permissions/read_logs=false +permissions/read_phone_state=false +permissions/read_profile=false +permissions/read_sms=false +permissions/read_social_stream=false +permissions/read_sync_settings=false +permissions/read_sync_stats=false +permissions/read_user_dictionary=false +permissions/reboot=false +permissions/receive_boot_completed=false +permissions/receive_mms=false +permissions/receive_sms=false +permissions/receive_wap_push=false +permissions/record_audio=false +permissions/reorder_tasks=false +permissions/restart_packages=false +permissions/send_respond_via_message=false +permissions/send_sms=false +permissions/set_activity_watcher=false +permissions/set_alarm=false +permissions/set_always_finish=false +permissions/set_animation_scale=false +permissions/set_debug_app=false +permissions/set_orientation=false +permissions/set_pointer_speed=false +permissions/set_preferred_applications=false +permissions/set_process_limit=false +permissions/set_time=false +permissions/set_time_zone=false +permissions/set_wallpaper=false +permissions/set_wallpaper_hints=false +permissions/signal_persistent_processes=false +permissions/status_bar=false +permissions/subscribed_feeds_read=false +permissions/subscribed_feeds_write=false +permissions/system_alert_window=false +permissions/transmit_ir=false +permissions/uninstall_shortcut=false +permissions/update_device_stats=false +permissions/use_credentials=false +permissions/use_sip=false +permissions/vibrate=false +permissions/wake_lock=false +permissions/write_apn_settings=false +permissions/write_calendar=false +permissions/write_call_log=false +permissions/write_contacts=false +permissions/write_external_storage=false +permissions/write_gservices=false +permissions/write_history_bookmarks=false +permissions/write_profile=false +permissions/write_secure_settings=false +permissions/write_settings=false +permissions/write_sms=false +permissions/write_social_stream=false +permissions/write_sync_settings=false +permissions/write_user_dictionary=false diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/100.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/100.png new file mode 100644 index 00000000..02377d38 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/100.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/1024.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/1024.png new file mode 100644 index 00000000..deb5d310 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/114.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/114.png new file mode 100644 index 00000000..1ea1dece Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/114.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/120.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/120.png new file mode 100644 index 00000000..9b05fa75 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/128.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/128.png new file mode 100644 index 00000000..16e3de23 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/128.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/144.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/144.png new file mode 100644 index 00000000..b72e9e7d Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/144.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/152.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/152.png new file mode 100644 index 00000000..0d7f6023 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/152.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/16.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/16.png new file mode 100644 index 00000000..8193d638 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/16.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/167.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/167.png new file mode 100644 index 00000000..9c9a53a8 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/167.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/172.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/172.png new file mode 100644 index 00000000..67bc8034 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/172.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/180.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/180.png new file mode 100644 index 00000000..c13edf7d Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/196.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/196.png new file mode 100644 index 00000000..231bd60e Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/196.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/20.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/20.png new file mode 100644 index 00000000..e015c6f5 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/20.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/216.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/216.png new file mode 100644 index 00000000..f2bb2b26 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/216.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/256.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/256.png new file mode 100644 index 00000000..14dcaa6b Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/256.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/29.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/29.png new file mode 100644 index 00000000..0d9e5920 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/32.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/32.png new file mode 100644 index 00000000..18a5790b Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/32.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/40.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/40.png new file mode 100644 index 00000000..b0cd7e87 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/48.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/48.png new file mode 100644 index 00000000..4642374e Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/48.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/50.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/50.png new file mode 100644 index 00000000..42341314 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/50.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/512.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/512.png new file mode 100644 index 00000000..890342dd Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/512.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/55.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/55.png new file mode 100644 index 00000000..0c00cac8 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/55.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/57.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/57.png new file mode 100644 index 00000000..7a086d6d Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/57.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/58.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/58.png new file mode 100644 index 00000000..b40ee991 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/60.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/60.png new file mode 100644 index 00000000..551aec00 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/64.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/64.png new file mode 100644 index 00000000..25eafbc9 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/64.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/72.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/72.png new file mode 100644 index 00000000..f9b8aeca Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/72.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/76.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/76.png new file mode 100644 index 00000000..2b8fafe6 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/76.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/80.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/80.png new file mode 100644 index 00000000..72c23311 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/87.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/87.png new file mode 100644 index 00000000..c5179034 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/88.png b/game/appicons/Assets.xcassets/AppIcon.appiconset/88.png new file mode 100644 index 00000000..fcabe182 Binary files /dev/null and b/game/appicons/Assets.xcassets/AppIcon.appiconset/88.png differ diff --git a/game/appicons/Assets.xcassets/AppIcon.appiconset/Contents.json b/game/appicons/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000..e138c0bd --- /dev/null +++ b/game/appicons/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1 @@ +{"images":[{"size":"60x60","expected-size":"180","filename":"180.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"40x40","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"60x60","expected-size":"120","filename":"120.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"57x57","expected-size":"57","filename":"57.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"1x"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"57x57","expected-size":"114","filename":"114.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"2x"},{"size":"20x20","expected-size":"60","filename":"60.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"iphone","scale":"3x"},{"size":"1024x1024","filename":"1024.png","expected-size":"1024","idiom":"ios-marketing","folder":"Assets.xcassets/AppIcon.appiconset/","scale":"1x"},{"size":"40x40","expected-size":"80","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"72x72","expected-size":"72","filename":"72.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"76x76","expected-size":"152","filename":"152.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"50x50","expected-size":"100","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"76x76","expected-size":"76","filename":"76.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"29x29","expected-size":"29","filename":"29.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"50x50","expected-size":"50","filename":"50.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"72x72","expected-size":"144","filename":"144.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"40x40","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"83.5x83.5","expected-size":"167","filename":"167.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"size":"20x20","expected-size":"20","filename":"20.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"1x"},{"size":"20x20","expected-size":"40","filename":"40.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"ipad","scale":"2x"},{"idiom":"watch","filename":"172.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"86x86","expected-size":"172","role":"quickLook"},{"idiom":"watch","filename":"80.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"40x40","expected-size":"80","role":"appLauncher"},{"idiom":"watch","filename":"88.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"40mm","scale":"2x","size":"44x44","expected-size":"88","role":"appLauncher"},{"idiom":"watch","filename":"100.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"50x50","expected-size":"100","role":"appLauncher"},{"idiom":"watch","filename":"196.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"98x98","expected-size":"196","role":"quickLook"},{"idiom":"watch","filename":"216.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"44mm","scale":"2x","size":"108x108","expected-size":"216","role":"quickLook"},{"idiom":"watch","filename":"48.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"38mm","scale":"2x","size":"24x24","expected-size":"48","role":"notificationCenter"},{"idiom":"watch","filename":"55.png","folder":"Assets.xcassets/AppIcon.appiconset/","subtype":"42mm","scale":"2x","size":"27.5x27.5","expected-size":"55","role":"notificationCenter"},{"size":"29x29","expected-size":"87","filename":"87.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"3x"},{"size":"29x29","expected-size":"58","filename":"58.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch","role":"companionSettings","scale":"2x"},{"size":"1024x1024","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"watch-marketing","scale":"1x"},{"size":"128x128","expected-size":"128","filename":"128.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"256x256","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"128x128","expected-size":"256","filename":"256.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"256x256","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"512x512","expected-size":"512","filename":"512.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"16","filename":"16.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"1x"},{"size":"16x16","expected-size":"32","filename":"32.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"32x32","expected-size":"64","filename":"64.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"},{"size":"512x512","expected-size":"1024","filename":"1024.png","folder":"Assets.xcassets/AppIcon.appiconset/","idiom":"mac","scale":"2x"}]} \ No newline at end of file diff --git a/game/appicons/android/mipmap-hdpi/ic_launcher.png b/game/appicons/android/mipmap-hdpi/ic_launcher.png new file mode 100644 index 00000000..2f9b7083 Binary files /dev/null and b/game/appicons/android/mipmap-hdpi/ic_launcher.png differ diff --git a/game/appicons/android/mipmap-mdpi/ic_launcher.png b/game/appicons/android/mipmap-mdpi/ic_launcher.png new file mode 100644 index 00000000..a93aef25 Binary files /dev/null and b/game/appicons/android/mipmap-mdpi/ic_launcher.png differ diff --git a/game/appicons/android/mipmap-xhdpi/ic_launcher.png b/game/appicons/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 00000000..b4b944bb Binary files /dev/null and b/game/appicons/android/mipmap-xhdpi/ic_launcher.png differ diff --git a/game/appicons/android/mipmap-xxhdpi/ic_launcher.png b/game/appicons/android/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 00000000..03dfa6c7 Binary files /dev/null and b/game/appicons/android/mipmap-xxhdpi/ic_launcher.png differ diff --git a/game/appicons/android/mipmap-xxxhdpi/ic_launcher.png b/game/appicons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 00000000..8ce10315 Binary files /dev/null and b/game/appicons/android/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/game/appicons/appstore.png b/game/appicons/appstore.png new file mode 100644 index 00000000..deb5d310 Binary files /dev/null and b/game/appicons/appstore.png differ diff --git a/game/appicons/playstore.png b/game/appicons/playstore.png new file mode 100644 index 00000000..cd3bd116 Binary files /dev/null and b/game/appicons/playstore.png differ diff --git a/game/rooms/room01/item.tscn b/game/rooms/room01/item.tscn index 9b29dd31..6ec39df1 100644 --- a/game/rooms/room01/item.tscn +++ b/game/rooms/room01/item.tscn @@ -23,5 +23,5 @@ __meta__ = { } [node name="ESCLocation" type="Position2D" parent="."] -position = Vector2( 0, 236.267 ) +position = Vector2( 0, 236.681 ) script = ExtResource( 2 ) diff --git a/game/rooms/room01/room01.tscn b/game/rooms/room01/room01.tscn index 42406de0..acf3cc6f 100644 --- a/game/rooms/room01/room01.tscn +++ b/game/rooms/room01/room01.tscn @@ -46,7 +46,7 @@ __meta__ = { [node name="walkable_area" parent="." instance=ExtResource( 1 )] position = Vector2( 3.5636, 0 ) -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="r_door" parent="Hotspots" instance=ExtResource( 8 )] position = Vector2( 1225.9, 217.966 ) @@ -73,7 +73,7 @@ __meta__ = { } [node name="item2" parent="Hotspots" instance=ExtResource( 9 )] -position = Vector2( 839.614, 146.832 ) +position = Vector2( 839.614, 147.455 ) global_id = "r1_wall_item2" esc_script = "res://game/rooms/room01/esc/wall_item_popupdialog.esc" @@ -112,3 +112,5 @@ position = Vector2( 660.468, 381.489 ) script = ExtResource( 7 ) global_id = "r1_destination_point3" player_orients_on_arrival = false + +[editable path="Hotspots/item"] diff --git a/game/rooms/room02/room02.tscn b/game/rooms/room02/room02.tscn index 4c5b22e4..29337383 100644 --- a/game/rooms/room02/room02.tscn +++ b/game/rooms/room02/room02.tscn @@ -30,9 +30,8 @@ __meta__ = { "_edit_use_anchors_": false } -[node name="Hotspots" type="Node2D" parent="."] - -[node name="r_platform" type="Area2D" parent="Hotspots"] +[node name="r_platform" type="Area2D" parent="."] +pause_mode = 1 script = ExtResource( 7 ) global_id = "r2_right_platform" esc_script = "res://game/rooms/room02/esc/right_platform.esc" @@ -42,14 +41,15 @@ default_action = "look" dialog_color = Color( 1, 1, 1, 1 ) animations = null -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_platform"] +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="r_platform"] polygon = PoolVector2Array( 870.974, 538.342, 827.536, 353.995, 1181.4, 357.174, 1287.34, 413.325, 1289.46, 545.758 ) -[node name="action_pos" type="Position2D" parent="Hotspots/r_platform"] +[node name="action_pos" type="Position2D" parent="r_platform"] position = Vector2( 430.893, 451.052 ) script = ExtResource( 8 ) -[node name="r_door" type="Area2D" parent="Hotspots"] +[node name="r_door" type="Area2D" parent="."] +pause_mode = 1 script = ExtResource( 7 ) global_id = "r2_r_exit" esc_script = "res://game/rooms/room02/esc/right_exit.esc" @@ -59,14 +59,15 @@ default_action = "walk" dialog_color = Color( 1, 1, 1, 1 ) animations = null -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_door"] +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="r_door"] polygon = PoolVector2Array( 1177.94, 348.61, 1175.95, 45.3759, 1276.06, 92.0953, 1277.95, 399.407 ) -[node name="Position2D" type="Position2D" parent="Hotspots/r_door"] +[node name="Position2D" type="Position2D" parent="r_door"] position = Vector2( 1225.47, 353.99 ) script = ExtResource( 8 ) -[node name="l_door" type="Area2D" parent="Hotspots"] +[node name="l_door" type="Area2D" parent="."] +pause_mode = 1 script = ExtResource( 7 ) global_id = "r2_l_exit" esc_script = "res://game/rooms/room02/esc/left_exit.esc" @@ -76,35 +77,35 @@ default_action = "walk" dialog_color = Color( 1, 1, 1, 1 ) animations = null -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/l_door"] +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="l_door"] polygon = PoolVector2Array( -1.37926, 443.158, 7.96461, 122.796, 84.0504, 77.4118, 88.055, 377.751 ) -[node name="Position2D" type="Position2D" parent="Hotspots/l_door"] +[node name="Position2D" type="Position2D" parent="l_door"] position = Vector2( 52.1462, 384.691 ) script = ExtResource( 8 ) -[node name="button_right" parent="Hotspots" instance=ExtResource( 5 )] +[node name="button_right" parent="." instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 958.107, 176.401 ) global_id = "r2_button_right" esc_script = "res://game/rooms/room02/esc/button.esc" dialog_color = Color( 0, 1, 0.109804, 1 ) -animations = null -[node name="Position2D" type="Position2D" parent="Hotspots/button_right"] +[node name="Position2D" type="Position2D" parent="button_right"] position = Vector2( 29.4302, 195.411 ) script = ExtResource( 8 ) __meta__ = { "_editor_description_": "" } -[node name="button_left" parent="Hotspots" instance=ExtResource( 5 )] +[node name="button_left" parent="." instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 288.82, 171.439 ) global_id = "r2_button" esc_script = "res://game/rooms/room02/esc/button.esc" dialog_color = Color( 0, 1, 0.109804, 1 ) -animations = null -[node name="Position2D" type="Position2D" parent="Hotspots/button_left"] +[node name="Position2D" type="Position2D" parent="button_left"] position = Vector2( 24.6681, 196.998 ) script = ExtResource( 8 ) __meta__ = { diff --git a/game/rooms/room03/room03.tscn b/game/rooms/room03/room03.tscn index 86d72a34..d6e9a4ac 100644 --- a/game/rooms/room03/room03.tscn +++ b/game/rooms/room03/room03.tscn @@ -32,6 +32,7 @@ __meta__ = { [node name="Hotspots" type="Node2D" parent="."] [node name="r_platform" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) __meta__ = { "_editor_description_": "" @@ -55,6 +56,7 @@ __meta__ = { } [node name="r_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) __meta__ = { "_editor_description_": "" @@ -74,6 +76,7 @@ position = Vector2( 1225.47, 353.99 ) script = ExtResource( 8 ) [node name="l_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) __meta__ = { "_editor_description_": "" @@ -93,6 +96,7 @@ position = Vector2( 44.1375, 384.691 ) script = ExtResource( 8 ) [node name="button" parent="Hotspots" instance=ExtResource( 7 )] +pause_mode = 1 global_id = "r3_button" esc_script = "res://game/rooms/room03/esc/button.esc" animations = null diff --git a/game/rooms/room04/room04.tscn b/game/rooms/room04/room04.tscn index 1bd90a58..387b613f 100644 --- a/game/rooms/room04/room04.tscn +++ b/game/rooms/room04/room04.tscn @@ -74,9 +74,10 @@ script = ExtResource( 9 ) global_id = "r4_player_start" is_start_location = true -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) global_id = "l_exit" esc_script = "res://game/rooms/room04/esc/left_exit.esc" @@ -92,6 +93,7 @@ position = Vector2( 83.6298, 279.703 ) script = ExtResource( 9 ) [node name="r_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) global_id = "r_exit" esc_script = "res://game/rooms/room04/esc/right_exit.esc" diff --git a/game/rooms/room05/room05.tscn b/game/rooms/room05/room05.tscn index f4403f04..668f5dbe 100644 --- a/game/rooms/room05/room05.tscn +++ b/game/rooms/room05/room05.tscn @@ -86,9 +86,10 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 7 ) global_id = "r5_l_exit" esc_script = "res://game/rooms/room05/esc/left_exit.esc" @@ -105,6 +106,7 @@ position = Vector2( 37.4521, 392.045 ) script = ExtResource( 11 ) [node name="r_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( -1, 0 ) script = ExtResource( 7 ) global_id = "r5_r_exit" @@ -122,6 +124,7 @@ position = Vector2( 1225.47, 353.99 ) script = ExtResource( 11 ) [node name="item_wall" parent="Hotspots" instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 2.37842, -254.49 ) global_id = "r5_wall_item" esc_script = "res://game/rooms/room05/esc/wall_item.esc" @@ -137,6 +140,7 @@ __meta__ = { } [node name="wrench" parent="Hotspots" instance=ExtResource( 8 )] +pause_mode = 1 position = Vector2( 257.269, 435.892 ) interaction_direction = 2 animations = null @@ -146,10 +150,12 @@ position = Vector2( -77.4207, 0 ) script = ExtResource( 11 ) [node name="pen" parent="Hotspots" instance=ExtResource( 10 )] +pause_mode = 1 position = Vector2( 909.908, 443.451 ) animations = null [node name="empty_sheet" parent="Hotspots" instance=ExtResource( 9 )] +pause_mode = 1 position = Vector2( 1059.84, 440.932 ) animations = null diff --git a/game/rooms/room06/room06.tscn b/game/rooms/room06/room06.tscn index 00021252..7dfba66e 100644 --- a/game/rooms/room06/room06.tscn +++ b/game/rooms/room06/room06.tscn @@ -55,9 +55,10 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_exit" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 esc_script = "res://game/rooms/room06/esc/left_exit.esc" animations = null @@ -69,6 +70,7 @@ __meta__ = { } [node name="r_door" parent="Hotspots" instance=ExtResource( 5 )] +pause_mode = 1 esc_script = "res://game/rooms/room06/esc/r6_door.esc" animations = null @@ -80,6 +82,7 @@ __meta__ = { } [node name="worker" parent="Hotspots" instance=ExtResource( 7 )] +pause_mode = 1 position = Vector2( 480, 430 ) esc_script = "res://game/rooms/room06/esc/worker.esc" interaction_direction = 2 diff --git a/game/rooms/room07/room07.tscn b/game/rooms/room07/room07.tscn index 58f6cdeb..8501ac0d 100644 --- a/game/rooms/room07/room07.tscn +++ b/game/rooms/room07/room07.tscn @@ -131,9 +131,10 @@ position = Vector2( 0, 1403.26 ) navpoly = SubResource( 2 ) enabled = false -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_exit" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 0, 1409.59 ) script = ExtResource( 7 ) __meta__ = { @@ -154,6 +155,7 @@ position = Vector2( 37.4521, 392.045 ) script = ExtResource( 8 ) [node name="r_exit" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 0, 1409.59 ) script = ExtResource( 7 ) __meta__ = { @@ -178,6 +180,7 @@ __meta__ = { } [node name="object_1" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 358.099, -1195.07 ) script = ExtResource( 7 ) global_id = "r7_object_1" @@ -193,6 +196,7 @@ position = Vector2( 460.841, 1515.95 ) shape = SubResource( 3 ) [node name="object2" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 1770.63, 1358.99 ) script = ExtResource( 7 ) __meta__ = { @@ -209,6 +213,7 @@ polygon = PoolVector2Array( -112.101, 14.6226, -103.122, 288.503, 130.35, 286.25 points = PoolVector2Array( -74.0056, 70.7457, 2.32182, 28.0921, 89.8739, 77.4804, -82.9853, 268.299, 110.078, 261.564 ) [node name="lower_stairs" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 0, 1409.59 ) script = ExtResource( 7 ) __meta__ = { @@ -228,6 +233,7 @@ position = Vector2( 953.985, 315.526 ) script = ExtResource( 8 ) [node name="upper_stairs" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 1347.64, 473.026 ) script = ExtResource( 7 ) global_id = "r7_upper_stairs" @@ -246,6 +252,7 @@ position = Vector2( 27.5337, 131.767 ) script = ExtResource( 8 ) [node name="button_camera_push" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 position = Vector2( -167.43, 1463.23 ) global_id = "r7_button_push" esc_script = "res://game/rooms/room07/esc/button_push.esc" @@ -270,6 +277,7 @@ __meta__ = { } [node name="button_camera_shift" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 position = Vector2( 9.393, 1464.03 ) global_id = "r7_button_shift" esc_script = "res://game/rooms/room07/esc/button_shift.esc" @@ -291,6 +299,7 @@ __meta__ = { } [node name="button_camera_follow" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 position = Vector2( 172.527, 1464.03 ) global_id = "r7_button_follow" esc_script = "res://game/rooms/room07/esc/button_follow.esc" @@ -312,6 +321,7 @@ __meta__ = { } [node name="button_camera_zoom" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 position = Vector2( 332.527, 1464.03 ) global_id = "r7_button_zoom" esc_script = "res://game/rooms/room07/esc/button_zoom.esc" @@ -333,6 +343,7 @@ __meta__ = { } [node name="button_camera_set_pos" parent="Hotspots" instance=ExtResource( 3 )] +pause_mode = 1 position = Vector2( 910.482, 1464.03 ) global_id = "r7_button_set_pos" esc_script = "res://game/rooms/room07/esc/button_set_pos.esc" @@ -354,6 +365,7 @@ __meta__ = { } [node name="trigger_left" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 406, 0 ) script = ExtResource( 7 ) global_id = "trigger_left" @@ -384,6 +396,7 @@ points = PoolVector2Array( 718.237, 1756.04, 724.544, 1950.34, 815.761, 1947.51, width = 2.0 [node name="trigger_right" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 220, 0 ) script = ExtResource( 7 ) global_id = "trigger_right" @@ -415,6 +428,7 @@ points = PoolVector2Array( 1089.37, 1757.17, 1097.85, 1949.99, 1187.37, 1947.87, width = 2.0 [node name="light_left" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 412, 0 ) script = ExtResource( 7 ) global_id = "r7_light_left" @@ -435,6 +449,7 @@ anims/green = SubResource( 5 ) anims/red = SubResource( 6 ) [node name="light_right" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( 613.333, -1.13 ) script = ExtResource( 7 ) global_id = "r7_light_right" diff --git a/game/rooms/room08/room08.tscn b/game/rooms/room08/room08.tscn index 7e0478d5..04c03b6b 100644 --- a/game/rooms/room08/room08.tscn +++ b/game/rooms/room08/room08.tscn @@ -124,9 +124,10 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) __meta__ = { "_editor_description_": "" @@ -146,6 +147,7 @@ position = Vector2( 45.47, 383.99 ) script = ExtResource( 7 ) [node name="m_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) __meta__ = { "_editor_description_": "" @@ -173,6 +175,7 @@ anims/door_close = SubResource( 2 ) anims/door_open = SubResource( 3 ) [node name="r8_mini_puzzle_button" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 5 ) global_id = "r8_button_puzzle" esc_script = "res://game/rooms/room08/esc/button_puzzle.esc" @@ -206,6 +209,7 @@ __meta__ = { } [node name="r8_reset_puzzle_button" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( -139.185, 0 ) script = ExtResource( 5 ) global_id = "r8_button_reset_puzzle" diff --git a/game/rooms/room09/room09.tscn b/game/rooms/room09/room09.tscn index 50968aeb..853d12f4 100644 --- a/game/rooms/room09/room09.tscn +++ b/game/rooms/room09/room09.tscn @@ -64,9 +64,10 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] +pause_mode = 1 script = ExtResource( 7 ) global_id = "r9_l_exit" esc_script = "res://game/rooms/room09/esc/left_exit.esc" @@ -84,6 +85,7 @@ position = Vector2( 37.4521, 392.045 ) script = ExtResource( 12 ) [node name="r_door" parent="Hotspots" instance=ExtResource( 9 )] +pause_mode = 1 global_id = "r9_r_exit" esc_script = "res://game/rooms/room09/esc/right_exit.esc" animations = null @@ -93,6 +95,7 @@ position = Vector2( 1198.65, 391.058 ) script = ExtResource( 12 ) [node name="r9_closet_left" parent="Hotspots" instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 435.233, 64.1518 ) global_id = "r9_closet_left" esc_script = "res://game/rooms/room09/esc/closet_left.esc" @@ -109,13 +112,13 @@ position = Vector2( 46.4878, 47.8335 ) scale = Vector2( 0.5, 0.5 ) global_id = "r9_bottle_left" dont_apply_terrain_scaling = true -animations = null [node name="Position2D" type="Position2D" parent="Hotspots/r9_closet_left/bottle_left"] position = Vector2( -26.727, 543.448 ) script = ExtResource( 12 ) [node name="r9_closet_middle" parent="Hotspots" instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 572.963, 65.2113 ) global_id = "r9_closet_middle" esc_script = "res://game/rooms/room09/esc/closet_middle.esc" @@ -132,13 +135,13 @@ position = Vector2( 45.9562, 46.774 ) scale = Vector2( 0.5, 0.5 ) global_id = "r9_bottle_middle" dont_apply_terrain_scaling = true -animations = null [node name="Position2D" type="Position2D" parent="Hotspots/r9_closet_middle/bottle_middle"] position = Vector2( -26.727, 543.448 ) script = ExtResource( 12 ) [node name="r9_closet_right" parent="Hotspots" instance=ExtResource( 5 )] +pause_mode = 1 position = Vector2( 710.693, 66.2707 ) global_id = "r9_closet_right" esc_script = "res://game/rooms/room09/esc/closet_right.esc" @@ -155,13 +158,13 @@ position = Vector2( 47.2065, 45.7146 ) scale = Vector2( 0.5, 0.5 ) global_id = "r9_bottle_right" dont_apply_terrain_scaling = true -animations = null [node name="Position2D" type="Position2D" parent="Hotspots/r9_closet_right/bottle_right"] position = Vector2( -26.727, 543.448 ) script = ExtResource( 12 ) [node name="button" parent="Hotspots" instance=ExtResource( 8 )] +pause_mode = 1 position = Vector2( 240.688, 160.459 ) global_id = "r9_button_reset" esc_script = "res://game/rooms/room09/esc/button_reset.esc" @@ -183,6 +186,7 @@ __meta__ = { } [node name="stand" type="Area2D" parent="Hotspots"] +pause_mode = 1 position = Vector2( -125.617, 0.8909 ) script = ExtResource( 7 ) global_id = "r9_stand" diff --git a/game/rooms/room10/esc/right_exit.esc b/game/rooms/room10/esc/right_exit.esc index d2009491..9153a73f 100755 --- a/game/rooms/room10/esc/right_exit.esc +++ b/game/rooms/room10/esc/right_exit.esc @@ -1,3 +1,3 @@ :exit_scene -set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false +set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false change_scene "res://game/rooms/room11/room11.tscn" diff --git a/game/rooms/room10/room10.tscn b/game/rooms/room10/room10.tscn index 8db4ec33..74f58fee 100644 --- a/game/rooms/room10/room10.tscn +++ b/game/rooms/room10/room10.tscn @@ -46,7 +46,7 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] pause_mode = 1 diff --git a/game/rooms/room11/esc/left_exit.esc b/game/rooms/room11/esc/left_exit.esc index 8b620bbe..8d75e752 100755 --- a/game/rooms/room11/esc/left_exit.esc +++ b/game/rooms/room11/esc/left_exit.esc @@ -1,5 +1,5 @@ :exit_scene -set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false +set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false change_scene "res://game/rooms/room10/room10.tscn" diff --git a/game/rooms/room11/esc/right_exit.esc b/game/rooms/room11/esc/right_exit.esc index 09662583..a3827d76 100755 --- a/game/rooms/room11/esc/right_exit.esc +++ b/game/rooms/room11/esc/right_exit.esc @@ -1,5 +1,5 @@ :exit_scene -set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false +set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false transition fade_black out change_scene "res://game/rooms/room12/room12.tscn" true diff --git a/game/rooms/room11/esc/room11.esc b/game/rooms/room11/esc/room11.esc index d92bd389..88bcc51b 100755 --- a/game/rooms/room11/esc/room11.esc +++ b/game/rooms/room11/esc/room11.esc @@ -1,6 +1,6 @@ :setup -set_state bg_music off false +set_state _music off false > [eq ESC_LAST_SCENE room10] teleport player r11_l_exit diff --git a/game/rooms/room11/room11.tscn b/game/rooms/room11/room11.tscn index 040d5d8d..1970fdc9 100644 --- a/game/rooms/room11/room11.tscn +++ b/game/rooms/room11/room11.tscn @@ -48,7 +48,7 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] pause_mode = 1 diff --git a/game/rooms/room12/esc/left_exit.esc b/game/rooms/room12/esc/left_exit.esc index 6f794b3c..46e92c11 100644 --- a/game/rooms/room12/esc/left_exit.esc +++ b/game/rooms/room12/esc/left_exit.esc @@ -1,5 +1,5 @@ :exit_scene -set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false +set_sound_state _sound res://game/sfx/sounds/doorOpen_2.ogg false change_scene "res://game/rooms/room11/room11.tscn" diff --git a/game/rooms/room12/room12.tscn b/game/rooms/room12/room12.tscn index 26d4618b..3f7cd91a 100644 --- a/game/rooms/room12/room12.tscn +++ b/game/rooms/room12/room12.tscn @@ -46,7 +46,7 @@ __meta__ = { "_editor_description_": "" } -[node name="Hotspots" type="Node2D" parent="."] +[node name="Hotspots" type="Node" parent="."] [node name="l_door" type="Area2D" parent="Hotspots"] pause_mode = 1 diff --git a/game/ui/commons/room_select.gd b/game/ui/commons/room_select.gd index 74441dc8..163b1a6e 100644 --- a/game/ui/commons/room_select.gd +++ b/game/ui/commons/room_select.gd @@ -7,8 +7,11 @@ func _ready(): var rooms_folder = "res://game/rooms/" var dir = Directory.new() var rooms_list: Array = [] - - if dir.open(rooms_folder) == OK: + var path = ProjectSettings.globalize_path(rooms_folder) + if not OS.has_feature("editor"): + path = OS.get_executable_path().get_base_dir().plus_file(path) + var tmp = dir.open(path) + if tmp == OK: dir.list_dir_begin(true) var file_name = dir.get_next() while file_name != "": @@ -23,7 +26,7 @@ func _ready(): room + ".tscn") else: - escoria.logger.report_errors("room_select.gd:_ready()", + escoria.logger.report_warnings("room_select.gd:_ready()", ["A problem occurred while opening rooms folder."]) diff --git a/game/ui/commons/room_select.tscn b/game/ui/commons/room_select.tscn index 72ad1efa..83015dda 100644 --- a/game/ui/commons/room_select.tscn +++ b/game/ui/commons/room_select.tscn @@ -12,6 +12,7 @@ __meta__ = { [node name="option" type="OptionButton" parent="."] margin_right = 29.0 margin_bottom = 40.0 +size_flags_horizontal = 3 script = ExtResource( 1 ) [node name="button" type="Button" parent="."] diff --git a/project.godot b/project.godot index d6384dd9..cd467219 100644 --- a/project.godot +++ b/project.godot @@ -631,7 +631,7 @@ search_in_file_extensions=PoolStringArray( "gd", "shader", "esc" ) [editor_plugins] -enabled=PoolStringArray( "res://addons/escoria-core/plugin.cfg", "res://addons/escoria-ui-9verbs/plugin.cfg" ) +enabled=PoolStringArray( "res://addons/escoria-core/plugin.cfg", "res://addons/escoria-ui-simplemouse/plugin.cfg" ) [escoria] @@ -640,7 +640,7 @@ main/force_quit=true debug/terminate_on_warnings=false debug/terminate_on_errors=true debug/development_lang="en" -ui/tooltip_follows_mouse=false +ui/tooltip_follows_mouse=true ui/dialogs_folder="res://game/ui/commons/dialogs" ui/default_dialog_scene="res://game/ui/commons/dialogs/dialog_label.tscn" ui/main_menu_scene="res://game/ui/commons/main_menu/main_menu.tscn" @@ -662,7 +662,7 @@ main/savegames_path="res://saves/" main/settings_path="user://" main/escoria_version="" sound/speech_enabled=1 -ui/game_scene="res://addons/escoria-ui-9verbs/game.tscn" +ui/game_scene="res://addons/escoria-ui-simplemouse/game.tscn" ui/dialogs_chooser="res://game/ui/commons/dialogs/text_dialog_choice.tscn" sound/speech_folder="res://game/speech" sound/speech_extension="ogg"