Added bg_sound manager and according ESC command.

Started transitions scene.
This commit is contained in:
Julian Murgia committed 2021-04-01 08:15:28 +02:00
1 parent 4acb971d54
commit 40dd4a6718
79 files changed
+1238 -454

No files matched your search

+18
View File
@@ -48,3 +48,21 @@ Items
Licence: CC0 Licence
https://www.kenney.nl/assets/generic-items
Music
=====
- “Game Menu Looping” (Licence CC-BY 4.0)
- “Mystical Ocean Puzzle Game” (Licence CC-BY 4.0)
by Eric Matyas
www.soundimage.org
Sound
=====
- Concrete footstep
Licence: CC0 Licence
https://www.kenney.nl/
+76 -17
View File
@@ -6,30 +6,56 @@ const autoloads = {
"esctypes": "res://addons/escoria-core/game/core-scripts/escoria_types.gd"
}
const custom_types = [
{
"type_name": "ESCBackground",
"parent_type": "Sprite",
"script_res": "res://addons/escoria-core/game/core-scripts/escbackground.gd"
},
{
"type_name": "ESCItem",
"parent_type": "Area2D",
"script_res": "res://addons/escoria-core/game/core-scripts/escitem.gd"
},
{
"type_name": "ESCItemsInventory",
"parent_type": "GridContainer",
"script_res": "res://addons/escoria-core/game/core-scripts/items_inventory.gd"
},
{
"type_name": "ESCInventoryItem",
"parent_type": "TextureButton",
"script_res": "res://addons/escoria-core/game/core-scripts/escinventoryitem.gd"
},
{
"type_name": "ESCPlayer",
"parent_type": "KinematicBody2D",
"script_res": "res://addons/escoria-core/game/core-scripts/escplayer.gd"
},
{
"type_name": "ESCRoom",
"parent_type": "Node2D",
"script_res": "res://addons/escoria-core/game/core-scripts/escroom.gd"
},
{
"type_name": "ESCTerrain",
"parent_type": "Navigation2D",
"script_res": "res://addons/escoria-core/game/core-scripts/escterrain.gd"
}
]
func _enter_tree():
add_autoloads()
add_custom_type("ESCBackground", "Sprite",
load("res://addons/escoria-core/game/core-scripts/escbackground.gd"), null)
add_custom_type("ESCCharacter", "KinematicBody2D",
load("res://addons/escoria-core/game/core-scripts/esccharacter.gd"), null)
add_custom_type("ESCItem", "Area2D",
load("res://addons/escoria-core/game/core-scripts/escitem.gd"), null)
add_custom_type("ESCItemsInventory", "GridContainer",
load("res://addons/escoria-core/game/core-scripts/items_inventory.gd"), null)
add_custom_type("ESCInventoryItem", "TextureButton",
load("res://addons/escoria-core/game/core-scripts/inventory_item.gd"), null)
add_custom_type("ESCPlayer", "KinematicBody2D",
load("res://addons/escoria-core/game/core-scripts/escplayer.gd"), null)
add_custom_type("ESCRoom", "Node2D",
load("res://addons/escoria-core/game/core-scripts/escroom.gd"), null)
add_custom_type("ESCTerrain", "Navigation2D",
load("res://addons/escoria-core/game/core-scripts/escterrain.gd"), null)
for custom_type in custom_types:
add_custom_type(custom_type.type_name, custom_type.parent_type,
load(custom_type.script_res), null)
set_escoria_main_settings()
set_escoria_debug_settings()
set_escoria_ui_settings()
set_escoria_internal_settings()
set_escoria_sound_settings()
func set_escoria_ui_settings():
@@ -65,6 +91,16 @@ func set_escoria_ui_settings():
}
ProjectSettings.add_property_info(main_menu_scene_property_info)
if !ProjectSettings.has_setting("escoria/ui/pause_menu_scene"):
ProjectSettings.set_setting("escoria/ui/pause_menu_scene", "")
var pause_menu_scene_property_info = {
"name": "escoria/ui/pause_menu_scene",
"type": TYPE_STRING,
"hint": PROPERTY_HINT_FILE,
"hint_string": "*.tscn, *.scn"
}
ProjectSettings.add_property_info(pause_menu_scene_property_info)
if !ProjectSettings.has_setting("escoria/ui/game_scene"):
ProjectSettings.set_setting("escoria/ui/game_scene", "")
var game_scene_property_info = {
@@ -122,6 +158,30 @@ func set_escoria_internal_settings():
}
ProjectSettings.add_property_info(save_data_property_info)
func set_escoria_sound_settings():
if !ProjectSettings.has_setting("escoria/sound/music_volume"):
ProjectSettings.set_setting("escoria/sound/music_volume", 5)
var music_data_property_info = {
"name": "escoria/sound/music_volume",
"type": TYPE_INT,
"hint": PROPERTY_HINT_RANGE,
"hint_string": "0,15"
}
ProjectSettings.add_property_info(music_data_property_info)
if !ProjectSettings.has_setting("escoria/sound/sound_volume"):
ProjectSettings.set_setting("escoria/sound/sound_volume", 8)
var sound_data_property_info = {
"name": "escoria/sound/sound_volume",
"type": TYPE_INT,
"hint": PROPERTY_HINT_RANGE,
"hint_string": "0,15"
}
ProjectSettings.add_property_info(sound_data_property_info)
# Defines platform-specific parameters. Those are the ones that must be re-set for each platform export.
func set_escoria_platform_settings():
# Skip cache - certain platforms (esp. mobile) lack memory for caching scenes
@@ -143,7 +203,6 @@ func remove_autoloads():
func _exit_tree():
remove_custom_type("ESCBackground")
remove_custom_type("ESCCharacter")
remove_custom_type("ESCItem")
remove_custom_type("ESCInventoryItem")
remove_custom_type("ESCItemsInventory")
@@ -52,7 +52,7 @@ var commands = {
"inventory_display": { "min_args": 1, "types": [TYPE_BOOL] },
"jump": { "min_args": 1 },
"label": { "min_args": 1 },
"play_snd": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] },
"set_sound_state": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] },
"queue_animation": { "min_args": 2, "types": [TYPE_STRING, TYPE_STRING, TYPE_BOOL] },
"queue_resource": { "min_args": 1, "types": [TYPE_STRING, TYPE_BOOL] },
"repeat": true,
@@ -350,6 +350,9 @@ func change_scene(params, context, run_events=true):
# camera = null
event_queue = []
escoria.main.scene_transition.fade_out()
yield(escoria.main.scene_transition, "transition_done")
# Regular events need to be reset immediately, so we don't
# accidentally `yield()` on them, for performance reasons.
# This does not affect `stack` so execution is fine anyway.
@@ -381,6 +384,9 @@ func change_scene(params, context, run_events=true):
room_scene.move_child(game_scene, 0)
var events = escoria.main.set_scene(room_scene, run_events)
escoria.main.scene_transition.fade_in()
yield(escoria.main.scene_transition, "transition_done")
# If scene was never visited, add "ready" event to the events stack
if !scenes_cache.has(room_scene.global_id) \
and "ready" in events:
@@ -526,7 +532,7 @@ func register_object(name : String, val : Object, force : bool = false):
# Most objects have states/animations, but don't count on it
# if val.has_method("set_state"):
if val is ESCItem or val is ESCPlayer or val is ESCCharacter:
if val is ESCItem or val is ESCPlayer:
if name in states:
set_state(name, [states[name], true])
else:
@@ -722,23 +728,9 @@ func object_exit_scene(name : String):
if inventory_has(name):
objects[name] = objects[name].duplicate()
else:
escoria.logger.info("Object " + name + " removed from scene.")
objects.erase(name)
#func jump(p_label):
# while stack.size() > 0:
# var top = stack[stack.size()-1]
# printt("top labels: ", top.labels, p_label)
# if p_label in top.labels:
# top.ip = top.labels[p_label]
# return
# else:
# if top.break_stop || stack.size() == 1:
# escoria.logger.report_errors("", ["Label not found: "+p_label+", can't jump"])
# stack.remove(stack.size()-1)
# break
# else:
# stack.remove(stack.size()-1)
if name != "bg_music":
escoria.logger.info("Object " + name + " removed from scene.")
objects.erase(name)
func check_obj(name, cmd):
@@ -747,3 +739,4 @@ func check_obj(name, cmd):
escoria.logger.report_errors("", ["Global id "+name+" not found for " + cmd])
return false
return true
@@ -399,9 +399,16 @@ func jump(command_params : Array):
"""
set_sound_state bg_music|bg_sound off|default|<path/to/music.file> true|false
"""
func play_snd(command_params : Array):
pass
func set_sound_state(command_params : Array):
var snd_player = command_params[0]
var snd_id = command_params[1]
var loop = false
if command_params.size() == 3 and command_params[2]:
loop = true
escoria.main.get_node(snd_player).set_state(snd_id, loop)
return esctypes.EVENT_LEVEL_STATE.RETURN
"""
@@ -1,9 +0,0 @@
tool
extends Node
class_name ESCCharacter
export(String) var character_id
export(String, FILE, ".esc") var esc_script = ""
func _ready():
pass
@@ -4,7 +4,6 @@ const OBJ_DEFAULT_STATE = "default"
## Custom nodes:
#var ESCBackground = preload("res://addons/escoria-core/game/core-scripts/escbackground.gd")
#var ESCCharacter = preload("res://addons/escoria-core/game/core-scripts/esccharacter.gd")
#var ESCItem = preload("res://addons/escoria-core/game/core-scripts/escitem.gd")
#var ESCItemsInventory = preload("res://addons/escoria-core/game/core-scripts/items_inventory.gd")
#var ESCInventoryItem = preload("res://addons/escoria-core/game/core-scripts/inventory_item.gd")
@@ -57,7 +57,8 @@ func set_debug_mode(p_debug_mode : bool):
debug_texturerect_node.mouse_filter = Control.MOUSE_FILTER_IGNORE
move_child(debug_texturerect_node, 2)
else:
remove_child(debug_texturerect_node)
if debug_texturerect_node:
remove_child(debug_texturerect_node)
func on_action_selected() -> void:
+10 -6
View File
@@ -11,6 +11,7 @@ onready var utils = load("res://addons/escoria-core/game/core-scripts/utils/util
# INSTANCES
var main_menu_instance
## Dialog player instantiator. This instance is called directly for dialogs.
var dialog_player
## Inventory scene
@@ -30,18 +31,14 @@ onready var game_size = get_viewport().size
##################################################################################
func _ready():
pass
# Called by Main menu "start new game"
func new_game():
var actions = esc_compiler.load_esc_file(ProjectSettings.get_setting("escoria/main/game_start_script"))
$esc_runner.run_game(actions)
func set_main_menu(scene):
main_menu_instance = scene
escoria.main.scene_transition.fade_in()
yield(escoria.main.scene_transition, "transition_done")
@@ -83,6 +80,13 @@ func register_object(object : Object):
if main.current_scene:
main.current_scene.game.tooltip_node = object
if object is ESCBackgroundMusic:
$esc_runner.register_object(object_id, object, true)
if object is ESCBackgroundSound:
$esc_runner.register_object(object_id, object, true)
"""
-3
View File
@@ -24,7 +24,4 @@ script = ExtResource( 4 )
[node name="main" parent="." instance=ExtResource( 2 )]
[node name="Viewport" type="Viewport" parent="."]
usage = 0
[editable path="main"]
@@ -13,6 +13,9 @@ func _input(event):
if event.is_action_pressed("esc_show_debug_prompt"):
escoria.main.get_node("layers/debug_layer/esc_prompt_popup").popup()
if event.is_action_pressed("ui_cancel"):
_on_pause_menu_requested()
if ProjectSettings.get_setting("escoria/ui/tooltip_follows_mouse"):
if escoria.main.current_scene and escoria.main.current_scene.game:
if event is InputEventMouseMotion:
@@ -124,3 +127,8 @@ func clean_hover_stack():
func hover_stack_pop(item):
hover_stack.erase(item)
################################################################################
func _on_pause_menu_requested():
escoria.main.current_scene.game.pause_game()
+6 -1
View File
@@ -11,6 +11,10 @@ var wait_level
var screen_ofs = Vector2(0, 0)
# ESCBackgroundMusic node
onready var bg_music = $bg_music
onready var scene_transition = $layers/curtain/scene_transition
func _ready():
$layers/wait_timer.connect("timeout", self, "_on_wait_finished")
@@ -25,7 +29,8 @@ func set_scene(p_scene, run_events=true):
if current_scene != null:
clear_scene()
get_node("/root").add_child(p_scene)
# get_node("/root").add_child(p_scene)
add_child(p_scene)
# Ensure we don't have a regular event running when changing scenes
if escoria.esc_runner.running_event:
+11 -1
View File
@@ -1,7 +1,10 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=6 format=2]
[ext_resource path="res://addons/escoria-core/game/main.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/esc_prompt/esc_prompt_popup.tscn" type="PackedScene" id=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_music.tscn" type="PackedScene" id=3]
[ext_resource path="res://addons/escoria-core/game/scenes/transitions/transition.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_sound.tscn" type="PackedScene" id=5]
[node name="main" type="Node"]
script = ExtResource( 1 )
@@ -9,6 +12,9 @@ script = ExtResource( 1 )
[node name="layers" type="Node" parent="."]
[node name="curtain" type="CanvasLayer" parent="layers"]
layer = 20
[node name="scene_transition" parent="layers/curtain" instance=ExtResource( 4 )]
[node name="menu" type="CanvasLayer" parent="layers"]
@@ -17,3 +23,7 @@ script = ExtResource( 1 )
[node name="debug_layer" type="CanvasLayer" parent="layers"]
[node name="esc_prompt_popup" parent="layers/debug_layer" instance=ExtResource( 2 )]
[node name="bg_music" parent="." instance=ExtResource( 3 )]
[node name="bg_sound" parent="." instance=ExtResource( 5 )]
+3 -2
View File
@@ -6,7 +6,8 @@ extends Node
func _ready():
var main_menu_path = ProjectSettings.get_setting("escoria/ui/main_menu_scene")
var main_menu_scene = load(main_menu_path).instance()
get_tree().get_root().call_deferred("add_child", main_menu_scene)
escoria.set_main_menu(main_menu_scene)
# get_tree().get_root().call_deferred("add_child", main_menu_scene)
escoria.call_deferred("add_child", main_menu_scene)
escoria.main_menu_instance = main_menu_scene
@@ -15,7 +15,7 @@ The scene MUST contain the 2 following nodes:
# Define the actual container node to add items as children of. Should be a Container.
export(NodePath) var items_container
export(NodePath) var inventory_ui_container
onready var all_items = $ESCORIA_ALL_ITEMS
var items_ids_in_inventory : Dictionary = {} # { item_id : TextureButton}
@@ -30,10 +30,10 @@ func _ready():
escoria.register_object(self)
if items_container == null or items_container.is_empty():
if inventory_ui_container == null or inventory_ui_container.is_empty():
escoria.logger.report_errors(self.get_path(), ["Items container is empty."])
return
for c in get_node(items_container).get_items():
for c in get_node(inventory_ui_container).get_items():
items_ids_in_inventory[c.item_id] = c
# c.connect("pressed", escoria.inputs_manager, "_on_inventory_item_pressed", [c.item_id])
@@ -55,7 +55,7 @@ func add_new_item_by_id(item_id : String) -> void:
"Check item's id in ESCORIA_ALL_ITEMS scene."])
var item_inventory_button = all_items.get_inventory_item(item_id).duplicate()
items_ids_in_inventory[item_id] = item_inventory_button
get_node(items_container).add_item(item_inventory_button)
get_node(inventory_ui_container).add_item(item_inventory_button)
# Add the item to inventory
if !escoria.esc_runner.objects.has(item_id):
@@ -90,7 +90,7 @@ func remove_item_by_id(item_id : String) -> void:
item_inventory_button.disconnect("inventory_item_unfocused",
escoria.inputs_manager, "_on_mouse_exited_inventory_item")
get_node(items_container).remove_item(item_inventory_button)
get_node(inventory_ui_container).remove_item(item_inventory_button)
item_inventory_button.queue_free()
items_ids_in_inventory.erase(item_id)
@@ -0,0 +1,42 @@
extends Control
class_name ESCBackgroundMusic
func get_class():
return "ESCBackgroundMusic"
onready var stream = $AudioStreamPlayer
var state = "default"
export var global_id = "bg_music"
func game_cleared():
set_state("off", true)
self.disconnect("tree_exited", escoria.esc_runner, "object_exit_scene")
escoria.register_object(self)
func set_state(p_state, p_force = false):
# If already playing this stream, keep playing, unless p_force
if p_state == state and not p_force and stream.is_playing():
return
state = p_state
# If state is "off"/"default", turn off music
if state == "off" or state == "default":
stream.stream = null
return
var resource = load(p_state)
stream.stream = resource
if stream.stream:
resource.set_loop(true)
if ProjectSettings.has_setting("escoria/sound/music_volume"):
stream.volume_db = ProjectSettings.get_setting("escoria/sound/music_volume")
stream.play()
func _ready():
escoria.register_object(self)
@@ -0,0 +1,16 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_music.gd" type="Script" id=1]
[node name="bg_music" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_right = -1680.0
margin_bottom = -1050.0
mouse_filter = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
@@ -0,0 +1,41 @@
extends Control
class_name ESCBackgroundSound
func get_class():
return "ESCBackgroundSound"
onready var stream = $AudioStreamPlayer
var state = "default"
export var global_id = "bg_sound"
func game_cleared():
stream.stream = null
escoria.register_object(self)
func set_state(p_state, p_force = false):
# If already playing this stream, keep playing, unless p_force
if p_state == state and not p_force and stream.is_playing():
return
state = p_state
# If state is "off"/"default", turn off music
if state == "off" or state == "default":
stream.stream = null
return
var resource = load(p_state)
stream.stream = resource
if stream.stream:
resource.set_loop(false)
if ProjectSettings.has_setting("escoria/sound/sound_volume"):
stream.volume_db = ProjectSettings.get_setting("escoria/sound/sound_volume")
stream.play()
func _ready():
escoria.register_object(self)
@@ -0,0 +1,16 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/sound/bg_sound.gd" type="Script" id=1]
[node name="bg_sound" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
margin_right = -1680.0
margin_bottom = -1050.0
mouse_filter = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

@@ -0,0 +1,28 @@
extends ColorRect
export(String, "fade_black", "fade_white", "transition_in", "transition_out") var transition_name
# Reference to the _AnimationPlayer_ node
onready var _anim_player := $AnimationPlayer
signal transition_done
func _ready() -> void:
# Plays the animation backward to fade in
_anim_player.play_backwards(transition_name)
func fade_out() -> void:
# Plays the Fade animation and wait until it finishes
_anim_player.play(transition_name)
yield(_anim_player, "animation_finished")
emit_signal("transition_done")
func fade_in() -> void:
# Plays the Fade animation and wait until it finishes
_anim_player.play_backwards(transition_name)
yield(_anim_player, "animation_finished")
emit_signal("transition_done")
@@ -0,0 +1,83 @@
[gd_scene load_steps=7 format=2]
[ext_resource path="res://addons/escoria-core/game/scenes/transitions/transition.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/scenes/transitions/shaders/transition.material" type="Material" id=2]
[sub_resource type="Animation" id=1]
resource_name = "fade_black"
length = 0.5
tracks/0/type = "value"
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.5 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Color( 0, 0, 0, 0 ), Color( 0, 0, 0, 1 ) ]
}
[sub_resource type="Animation" id=2]
resource_name = "fade_white"
length = 0.5
tracks/0/type = "value"
tracks/0/path = NodePath(".:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 0.5 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ) ]
}
[sub_resource type="Animation" id=3]
resource_name = "transition_in"
tracks/0/type = "value"
tracks/0/path = NodePath(".:material:shader_param/cutoff")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 0.0, 1.0 ]
}
[sub_resource type="Animation" id=4]
resource_name = "transition_out"
tracks/0/type = "value"
tracks/0/path = NodePath(".:material:shader_param/cutoff")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
"values": [ 1.0, 0.0 ]
}
[node name="scene_transition" type="ColorRect"]
material = ExtResource( 2 )
anchor_right = 1.0
anchor_bottom = 1.0
mouse_filter = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
transition_name = "transition_out"
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/fade_black = SubResource( 1 )
anims/fade_white = SubResource( 2 )
anims/transition_in = SubResource( 3 )
anims/transition_out = SubResource( 4 )
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/assets/images/no_image.png" type="Texture" id=2]
[node name="inventory_item" type="TextureButton"]
+123 -123
View File
@@ -10,186 +10,186 @@
[sub_resource type="AtlasTexture" id=1]
atlas = ExtResource( 4 )
region = Rect2( 216, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 4 )
region = Rect2( 240, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=3]
atlas = ExtResource( 4 )
region = Rect2( 264, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 4 )
region = Rect2( 288, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=5]
atlas = ExtResource( 4 )
region = Rect2( 312, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=6]
atlas = ExtResource( 4 )
region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=7]
[sub_resource type="AtlasTexture" id=2]
atlas = ExtResource( 5 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=8]
[sub_resource type="AtlasTexture" id=3]
atlas = ExtResource( 5 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=9]
[sub_resource type="AtlasTexture" id=4]
atlas = ExtResource( 5 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=10]
[sub_resource type="AtlasTexture" id=5]
atlas = ExtResource( 7 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=6]
atlas = ExtResource( 7 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=7]
atlas = ExtResource( 7 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=8]
atlas = ExtResource( 7 )
region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=9]
atlas = ExtResource( 7 )
region = Rect2( 96, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=10]
atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=11]
atlas = ExtResource( 7 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=12]
atlas = ExtResource( 7 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=13]
atlas = ExtResource( 7 )
region = Rect2( 72, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=14]
atlas = ExtResource( 7 )
region = Rect2( 96, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=15]
atlas = ExtResource( 4 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=16]
atlas = ExtResource( 4 )
region = Rect2( 336, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=17]
atlas = ExtResource( 4 )
region = Rect2( 360, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=18]
atlas = ExtResource( 4 )
region = Rect2( 384, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=19]
atlas = ExtResource( 6 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=20]
atlas = ExtResource( 6 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=21]
atlas = ExtResource( 4 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=22]
atlas = ExtResource( 4 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=23]
atlas = ExtResource( 2 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=24]
atlas = ExtResource( 2 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=25]
atlas = ExtResource( 2 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=26]
atlas = ExtResource( 4 )
region = Rect2( 144, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=27]
[sub_resource type="AtlasTexture" id=12]
atlas = ExtResource( 4 )
region = Rect2( 168, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=28]
[sub_resource type="AtlasTexture" id=13]
atlas = ExtResource( 4 )
region = Rect2( 192, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=29]
[sub_resource type="AtlasTexture" id=14]
atlas = ExtResource( 6 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=15]
atlas = ExtResource( 6 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=16]
atlas = ExtResource( 4 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=17]
atlas = ExtResource( 4 )
region = Rect2( 96, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=18]
atlas = ExtResource( 2 )
region = Rect2( 0, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=19]
atlas = ExtResource( 2 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=20]
atlas = ExtResource( 2 )
region = Rect2( 48, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=21]
atlas = ExtResource( 4 )
region = Rect2( 216, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=22]
atlas = ExtResource( 4 )
region = Rect2( 240, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=23]
atlas = ExtResource( 4 )
region = Rect2( 264, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=24]
atlas = ExtResource( 4 )
region = Rect2( 288, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=25]
atlas = ExtResource( 4 )
region = Rect2( 312, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=26]
atlas = ExtResource( 4 )
region = Rect2( 24, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=27]
atlas = ExtResource( 4 )
region = Rect2( 336, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=28]
atlas = ExtResource( 4 )
region = Rect2( 360, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=29]
atlas = ExtResource( 4 )
region = Rect2( 384, 0, 24, 70 )
[sub_resource type="AtlasTexture" id=30]
atlas = ExtResource( 4 )
region = Rect2( 120, 0, 24, 70 )
[sub_resource type="SpriteFrames" id=31]
animations = [ {
"frames": [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ) ],
"loop": true,
"name": "walk_right",
"speed": 6.0
}, {
"frames": [ SubResource( 6 ) ],
"frames": [ SubResource( 1 ) ],
"loop": true,
"name": "idle_up",
"speed": 5.0
}, {
"frames": [ SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ],
"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ) ],
"loop": true,
"name": "speak_down_right",
"speed": 6.0
}, {
"frames": [ SubResource( 10 ), SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 14 ) ],
"frames": [ SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ) ],
"loop": true,
"name": "speak_right",
"speed": 5.0
}, {
"frames": [ SubResource( 15 ) ],
"frames": [ SubResource( 10 ) ],
"loop": true,
"name": "idle_down",
"speed": 5.0
}, {
"frames": [ SubResource( 16 ), SubResource( 17 ), SubResource( 18 ) ],
"loop": true,
"name": "walk_up",
"speed": 6.0
}, {
"frames": [ SubResource( 19 ), SubResource( 20 ), SubResource( 19 ), SubResource( 20 ), SubResource( 20 ) ],
"loop": true,
"name": "speak_up",
"speed": 3.0
}, {
"frames": [ SubResource( 21 ) ],
"loop": true,
"name": "idle_right",
"speed": 5.0
}, {
"frames": [ SubResource( 22 ) ],
"loop": true,
"name": "idle_down_right",
"speed": 5.0
}, {
"frames": [ SubResource( 23 ), SubResource( 24 ), SubResource( 25 ), SubResource( 24 ), SubResource( 25 ) ],
"loop": true,
"name": "speak_down",
"speed": 6.0
}, {
"frames": [ SubResource( 26 ), SubResource( 27 ), SubResource( 28 ) ],
"frames": [ SubResource( 11 ), SubResource( 12 ), SubResource( 13 ), SubResource( 12 ) ],
"loop": true,
"name": "walk_down",
"speed": 6.0
}, {
"frames": [ SubResource( 29 ) ],
"frames": [ SubResource( 14 ), SubResource( 15 ), SubResource( 14 ), SubResource( 15 ), SubResource( 15 ) ],
"loop": true,
"name": "speak_up",
"speed": 3.0
}, {
"frames": [ SubResource( 16 ) ],
"loop": true,
"name": "idle_right",
"speed": 5.0
}, {
"frames": [ SubResource( 17 ) ],
"loop": true,
"name": "idle_left",
"speed": 5.0
}, {
"frames": [ SubResource( 18 ), SubResource( 19 ), SubResource( 20 ), SubResource( 19 ), SubResource( 20 ) ],
"loop": true,
"name": "speak_down",
"speed": 6.0
}, {
"frames": [ SubResource( 21 ), SubResource( 22 ), SubResource( 23 ), SubResource( 24 ), SubResource( 25 ) ],
"loop": true,
"name": "walk_right",
"speed": 6.0
}, {
"frames": [ SubResource( 26 ) ],
"loop": true,
"name": "idle_down_right",
"speed": 5.0
}, {
"frames": [ SubResource( 27 ), SubResource( 28 ), SubResource( 29 ), SubResource( 28 ) ],
"loop": true,
"name": "walk_up",
"speed": 6.0
}, {
"frames": [ SubResource( 30 ) ],
"loop": true,
"name": "idle_down_left",
Binary file not shown.
-3
View File
@@ -26,9 +26,6 @@ esc_script = "res://game/rooms/room6/esc/worker.esc"
tooltip_name = "Worker"
default_action = "look"
dialog_color = Color( 0.196078, 0, 1, 1 )
interact_positions = {
"default": Vector2( -1.662, -141.108 )
}
animations = ExtResource( 2 )
[node name="sprite" type="AnimatedSprite" parent="."]
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=1]
[ext_resource path="res://game/items/textures/genericItem_color_020.png" type="Texture" id=2]
[node name="axe" type="TextureButton"]
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/items/textures/genericItem_color_127.png" type="Texture" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=2]
[node name="empty_sheet" type="TextureButton"]
margin_right = 50.0
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/items/textures/genericItem_color_038.png" type="Texture" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=2]
[node name="empty_sheet" type="TextureButton"]
margin_right = 98.0
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/rooms/room5/items/filled_sheet.png" type="Texture" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=2]
[node name="filled_sheet" type="TextureButton"]
margin_right = 88.0
@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=1]
[ext_resource path="res://game/items/textures/genericItem_color_010.png" type="Texture" id=2]
[node name="hammer" type="TextureButton"]
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/items/textures/genericItem_color_026.png" type="Texture" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=2]
[node name="pen" type="TextureButton"]
margin_right = 42.0
@@ -1,7 +1,7 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/items/textures/genericItem_color_004.png" type="Texture" id=1]
[ext_resource path="res://addons/escoria-core/game/core-scripts/inventory_item.gd" type="Script" id=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escinventoryitem.gd" type="Script" id=2]
[node name="wrench" type="TextureButton"]
margin_right = 70.0
+2
View File
@@ -8,3 +8,5 @@
teleport player player_start
stop
:ready
set_sound_state bg_music res://game/sfx/contemplation.ogg true
+4 -11
View File
@@ -15,11 +15,12 @@ __meta__ = {
global_id = "room1"
esc_script = "res://game/rooms/room1/esc/room1.esc"
player_scene = ExtResource( 4 )
camera_limits = [ Rect2( 0, 0, 1289, 555 ) ]
camera_limits = [ Rect2( 0, 0, 1285, 550 ) ]
editor_debug_mode = 1
[node name="background" parent="." instance=ExtResource( 2 )]
[node name="Advice" type="Label" parent="background"]
[node name="advice" type="Label" parent="background"]
margin_left = 90.2752
margin_top = 120.824
margin_right = 270.275
@@ -41,6 +42,7 @@ __meta__ = {
}
[node name="walkable_area" parent="." instance=ExtResource( 1 )]
position = Vector2( 3.5636, 0 )
[node name="Hotspots" type="Node2D" parent="."]
@@ -55,9 +57,6 @@ is_exit = true
tooltip_name = "Exit"
default_action = "walk"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 1225.47, 353.99 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_door"]
polygon = PoolVector2Array( 1177.94, 348.61, 1175.95, 45.3759, 1276.06, 92.0953, 1277.95, 399.407 )
@@ -73,9 +72,6 @@ esc_script = "res://game/rooms/room1/esc/wall_item.esc"
tooltip_name = "Item on the wall"
default_action = "look"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 454.608, 373.035 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/item"]
polygon = PoolVector2Array( 635.586, 253.345, 568.928, 60.1716, 709.047, 120.028, 699.524, 247.903 )
@@ -109,9 +105,6 @@ esc_script = "res://game/rooms/room1/esc/wall_item_popupdialog.esc"
tooltip_name = "Item on the wall"
default_action = "look"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 861.442, 373.035 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/item2"]
polygon = PoolVector2Array( 635.586, 253.345, 568.928, 60.1716, 709.047, 120.028, 699.524, 247.903 )
+23
View File
@@ -0,0 +1,23 @@
[gd_scene load_steps=2 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escbackground.gd" type="Script" id=1]
[node name="background" type="TextureRect"]
margin_right = 1289.0
margin_bottom = 555.0
mouse_filter = 2
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="l_platform" type="Line2D" parent="."]
position = Vector2( 2, -266 )
points = PoolVector2Array( -2.96298, 712.01, 129.973, 614.429, 1167.5, 612.894, 1274.59, 669.705, 1273.25, 812.694, 2.36697, 811.043, 2.36697, 713.389 )
[node name="l_door" type="Line2D" parent="."]
position = Vector2( 0, -266 )
points = PoolVector2Array( 6.61201, 704.409, 6.61203, 389.558, 87.755, 339.775, 87.5463, 649.784 )
__meta__ = {
"_editor_description_": ""
}
@@ -0,0 +1,2 @@
:use
set_sound_state bg_music res://game/sfx/contemplation.ogg true
@@ -0,0 +1,3 @@
:use
set_sound_state bg_sound res://game/sfx/sounds/laser1.ogg false
@@ -0,0 +1,2 @@
:use
set_sound_state bg_music off true
+5
View File
@@ -0,0 +1,5 @@
:exit_scene
set_sound_state bg_sound res://game/sfx/sounds/doorOpen_2.ogg false
change_scene "res://game/rooms/room9/room9.tscn"
+2
View File
@@ -0,0 +1,2 @@
:exit_scene
+25
View File
@@ -0,0 +1,25 @@
# :SETUP is called EVERY TIME the room is loaded
# :READY is called only the FIRST TIME the room is loaded
:setup
> [eq ESC_LAST_SCENE room8]
teleport player r9_l_exit
# Set player look right
set_angle player 180
stop
> [eq ESC_LAST_SCENE room10]
teleport player r9_r_exit
# Set player look left
set_angle player 270
stop
> [!last_scene]
teleport player player_start
stop
:ready
set_global open_closets 0
#set_state r9_closet_left closed
#set_state r9_closet_middle closed
#set_state r9_closet_right closed
+130
View File
@@ -0,0 +1,130 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escitem.gd" type="Script" id=1]
[sub_resource type="Animation" id=1]
resource_name = "r_door_close"
tracks/0/type = "value"
tracks/0/path = NodePath("r_door_closed:visible")
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": 1,
"values": [ true ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("r_door_opened:visible")
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": 1,
"values": [ false ]
}
tracks/2/type = "value"
tracks/2/path = NodePath(".:is_exit")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ false ]
}
tracks/3/type = "value"
tracks/3/path = NodePath(".:default_action")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "look" ]
}
[sub_resource type="Animation" id=2]
resource_name = "r_door_open"
length = 0.3
tracks/0/type = "value"
tracks/0/path = NodePath("r_door_closed:visible")
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": 1,
"values": [ false ]
}
tracks/1/type = "value"
tracks/1/path = NodePath("r_door_opened:visible")
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": 1,
"values": [ true ]
}
tracks/2/type = "value"
tracks/2/path = NodePath(".:is_exit")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ true ]
}
tracks/3/type = "value"
tracks/3/path = NodePath(".:default_action")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = {
"times": PoolRealArray( 0 ),
"transitions": PoolRealArray( 1 ),
"update": 1,
"values": [ "walk" ]
}
[node name="r_door" type="Area2D"]
script = ExtResource( 1 )
global_id = "r9_door"
esc_script = "res://game/rooms/room9/esc/r9_door.esc"
tooltip_name = "Door"
default_action = "look"
dialog_color = Color( 1, 1, 1, 1 )
[node name="r_door_closed" type="Polygon2D" parent="."]
color = Color( 0.482353, 0.568627, 1, 1 )
polygon = PoolVector2Array( 1172.3, 44.8186, 1172.3, 348.012, 1273.9, 401.983, 1277.07, 89.2657 )
[node name="r_door_opened" type="Polygon2D" parent="."]
visible = false
color = Color( 0.482353, 0.568627, 1, 1 )
polygon = PoolVector2Array( 1172.3, 44.8186, 1172.3, 348.012, 1029.82, 349.887, 1025.19, 42.1269 )
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
anims/r_door_close = SubResource( 1 )
anims/r_door_open = SubResource( 2 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
polygon = PoolVector2Array( 1169.35, 41.7644, 1168.09, 347.925, 1275.18, 407.141, 1278.96, 88.3814 )
+129
View File
@@ -0,0 +1,129 @@
[gd_scene load_steps=10 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escterrain.gd" type="Script" id=1]
[ext_resource path="res://game/rooms/room10/background.tscn" type="PackedScene" id=2]
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=3]
[ext_resource path="res://game/characters/mark/mark.tscn" type="PackedScene" id=4]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escroom.gd" type="Script" id=6]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escitem.gd" type="Script" id=7]
[ext_resource path="res://game/rooms/room2/button/button.tscn" type="PackedScene" id=8]
[ext_resource path="res://game/rooms/room10/r_door.tscn" type="PackedScene" id=9]
[sub_resource type="NavigationPolygon" id=1]
vertices = PoolVector2Array( 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, 864.626, 613.518, 1143.08, 613.35, -9.16094, 803.802, 386.666, 618.012, 129.634, 615.792, 84.5821, 654.06, -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 0, 3, 6, 7 ), PoolIntArray( 8, 7, 6, 9 ), PoolIntArray( 9, 6, 10, 11, 12 ) ]
outlines = [ PoolVector2Array( -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698, 84.5821, 654.06, 129.634, 615.792, 386.666, 618.012, 864.626, 613.518, 1143.08, 613.35, 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, -9.16094, 803.802 ) ]
[node name="room10" type="Node2D"]
script = ExtResource( 6 )
__meta__ = {
"_edit_vertical_guides_": [ ]
}
global_id = "room10"
esc_script = "res://game/rooms/room10/esc/room10.esc"
player_scene = ExtResource( 4 )
camera_limits = [ Rect2( 0, 0, 1289, 555 ) ]
[node name="background" parent="." instance=ExtResource( 2 )]
[node name="room_label" type="Label" parent="background"]
margin_right = 70.0
margin_bottom = 16.0
custom_fonts/font = ExtResource( 3 )
text = "ROOM 10"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="walkable_area" type="Navigation2D" parent="."]
script = ExtResource( 1 )
[node name="platform" type="NavigationPolygonInstance" parent="walkable_area"]
position = Vector2( 6.73163, -264.779 )
navpoly = SubResource( 1 )
__meta__ = {
"_editor_description_": ""
}
[node name="Hotspots" type="Node2D" parent="."]
[node name="l_door" type="Area2D" parent="Hotspots"]
script = ExtResource( 7 )
global_id = "r10_l_exit"
esc_script = "res://game/rooms/room10/esc/left_exit.esc"
is_exit = true
tooltip_name = "Left exit"
default_action = "walk"
dialog_color = Color( 1, 1, 1, 1 )
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/l_door"]
polygon = PoolVector2Array( 0.328762, 440.897, 1.85199, 119.926, 85.9517, 74.6212, 87.1409, 377.869 )
[node name="Position2D" type="Position2D" parent="Hotspots/l_door"]
position = Vector2( 37.4521, 392.045 )
[node name="r_door" parent="Hotspots" instance=ExtResource( 9 )]
esc_script = "res://game/rooms/room10/esc/right_exit.esc"
[node name="Position2D" type="Position2D" parent="Hotspots/r_door"]
position = Vector2( 1198.65, 391.058 )
[node name="button_stop_bg_music" parent="Hotspots" instance=ExtResource( 8 )]
position = Vector2( 243.165, 154.97 )
global_id = "r10_btn_stop_bg_music"
esc_script = "res://game/rooms/room10/esc/button_stop_bg_music.esc"
[node name="Position2D" type="Position2D" parent="Hotspots/button_stop_bg_music"]
position = Vector2( 22.6786, 212.927 )
[node name="Label" type="Label" parent="Hotspots/button_stop_bg_music"]
margin_left = -8.81946
margin_top = -30.2381
margin_right = 61.1805
margin_bottom = -14.2381
custom_fonts/font = ExtResource( 3 )
text = "Stop bg music"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="button_play_bg_music" parent="Hotspots" instance=ExtResource( 8 )]
position = Vector2( 377.976, 154.97 )
global_id = "r10_btn_play_bg_music"
esc_script = "res://game/rooms/room10/esc/button_play_bg_music.esc"
[node name="Position2D" type="Position2D" parent="Hotspots/button_play_bg_music"]
position = Vector2( 22.6786, 212.927 )
[node name="Label" type="Label" parent="Hotspots/button_play_bg_music"]
margin_left = -8.81946
margin_top = -30.2381
margin_right = 61.1805
margin_bottom = -14.2381
custom_fonts/font = ExtResource( 3 )
text = "Play bg music"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="button_play_sound" parent="Hotspots" instance=ExtResource( 8 )]
position = Vector2( 646.339, 154.97 )
global_id = "r10_btn_play_snd"
esc_script = "res://game/rooms/room10/esc/button_play_snd.esc"
[node name="Position2D" type="Position2D" parent="Hotspots/button_play_sound"]
position = Vector2( 22.6786, 212.927 )
[node name="Label" type="Label" parent="Hotspots/button_play_sound"]
margin_left = -8.81946
margin_top = -30.2381
margin_right = 61.1805
margin_bottom = -14.2381
custom_fonts/font = ExtResource( 3 )
text = "Play sound"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="player_start" type="Position2D" parent="."]
position = Vector2( 76.7617, 437.649 )
+18
View File
@@ -0,0 +1,18 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://addons/escoria-core/game/core-scripts/escterrain.gd" type="Script" id=1]
[sub_resource type="NavigationPolygon" id=1]
vertices = PoolVector2Array( 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, 129.634, 615.792, 1143.08, 613.35, -9.16094, 803.802, 84.5821, 654.06, -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698 )
polygons = [ PoolIntArray( 0, 1, 2, 3 ), PoolIntArray( 4, 5, 0, 3, 6, 7 ), PoolIntArray( 7, 6, 8, 9, 10 ) ]
outlines = [ PoolVector2Array( -6.44019, 711.297, 3.15687, 646.051, 59.2201, 628.698, 84.5821, 654.06, 129.634, 615.792, 1143.08, 613.35, 1168.92, 640.557, 1182.53, 588.863, 1269.59, 622.872, 1275.03, 799.721, -9.16094, 803.802 ) ]
[node name="walkable_area" type="Navigation2D"]
script = ExtResource( 1 )
[node name="platform" type="NavigationPolygonInstance" parent="."]
position = Vector2( 6.73163, -264.779 )
navpoly = SubResource( 1 )
__meta__ = {
"_editor_description_": ""
}
-12
View File
@@ -38,9 +38,6 @@ __meta__ = {
global_id = "r3_right_platform"
esc_script = "res://game/rooms/room3/esc/right_platform.esc"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 430.893, 451.052 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_platform"]
polygon = PoolVector2Array( 870.974, 538.342, 827.536, 353.995, 1181.4, 357.174, 1287.34, 413.325, 1289.46, 545.758 )
@@ -64,9 +61,6 @@ esc_script = "res://game/rooms/room3/esc/right_exit.esc"
is_exit = true
tooltip_name = "Exit"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 1225.47, 353.99 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_door"]
polygon = PoolVector2Array( 1177.94, 348.61, 1175.95, 45.3759, 1276.06, 92.0953, 1277.95, 399.407 )
@@ -84,9 +78,6 @@ esc_script = "res://game/rooms/room3/esc/left_exit.esc"
is_exit = true
tooltip_name = "Exit"
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 44.1375, 384.691 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/l_door"]
polygon = PoolVector2Array( -2.71457, 437.818, 6.6293, 121.462, 89.3893, 74.7422, 88.0545, 376.416 )
@@ -97,9 +88,6 @@ position = Vector2( 44.1375, 384.691 )
[node name="button" parent="Hotspots" instance=ExtResource( 7 )]
global_id = "r3_button"
esc_script = "res://game/rooms/room3/esc/button.esc"
interact_positions = {
"default": Vector2( 347.767, 378.011 )
}
[node name="Position2D" type="Position2D" parent="Hotspots/button"]
position = Vector2( 347.767, 378.011 )
+1 -20
View File
@@ -20,6 +20,7 @@ global_id = "room4"
esc_script = "res://game/rooms/room4/esc/room4.esc"
player_scene = ExtResource( 4 )
camera_limits = [ Rect2( 0, 0, 1666, 574 ) ]
editor_debug_mode = 1
[node name="background" type="TextureRect" parent="."]
margin_right = 1666.0
@@ -35,20 +36,6 @@ scale = Vector2( 0.692794, 0.692794 )
texture = ExtResource( 7 )
centered = false
[node name="l_platform" type="Line2D" parent="background"]
visible = false
position = Vector2( 2, -266 )
points = PoolVector2Array( 80.1882, 575.221, 161.613, 664.655, 472.392, 662.45, 685.125, 526.838, 860.996, 526.838, 1114.43, 647.617, 2242.97, 610.492, 2385.84, 672.401, 2389.93, 804.937, 1000, 795.942, 805.904, 564.979, 733.86, 562.86, 580.457, 806.537, -4.3772, 811.004, 4.10239, 576.556, 78.8534, 576.556 )
[node name="r_door" type="Line2D" parent="background"]
visible = false
position = Vector2( 0, -267.828 )
points = PoolVector2Array( 2252.91, 610.733, 2251.32, 332.938, 2384.66, 386.909, 2386.25, 674.229, 2254.5, 615.495 )
[node name="l_door" type="Line2D" parent="background"]
visible = false
points = PoolVector2Array( 6.10242, 307.886, 2.0979, 129.017, 84.858, 129.017, 84.858, 311.89, 4.76758, 307.886 )
[node name="room_label" type="Label" parent="background"]
margin_right = 40.0
margin_bottom = 14.0
@@ -88,9 +75,6 @@ global_id = "l_exit"
esc_script = "res://game/rooms/room4/esc/left_exit.esc"
is_exit = true
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 83.6298, 279.703 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/l_door"]
polygon = PoolVector2Array( 29.1046, 292.156, 31.0151, 76.8949, 147.177, 74.4792, 151.415, 293.788 )
@@ -104,9 +88,6 @@ global_id = "r_exit"
esc_script = "res://game/rooms/room4/esc/right_exit.esc"
is_exit = true
dialog_color = Color( 1, 1, 1, 1 )
interact_positions = {
"default": Vector2( 1611.46, 301.017 )
}
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="Hotspots/r_door"]
polygon = PoolVector2Array( 1567.92, 294.848, 1573.21, 92.4902, 1657.34, 129.485, 1654.79, 343.583 )
+6 -3
View File
@@ -1,9 +1,11 @@
:look
say player "He's looking a bit odd."
####################################################################################################
:pickup
say player "I don't think he'd like that."
####################################################################################################
:talk
> [!talked_once]
say player "Uhm..."
@@ -31,16 +33,17 @@ say player "I don't think he'd like that."
say worker "Go away, kid."
stop
####################################################################################################
:use r5_filled_sheet
jump give r5_filled_sheet
####################################################################################################
:give r5_filled_sheet
inventory_remove r5_filled_sheet
say worker "Hey! That's perfect!"
say worker "I can finally get away from here!"
walk_to_pos worker 1200 400
walk_to_pos_block worker 1200 400
#set_angle worker 45
# Open the door
-9
View File
@@ -46,15 +46,6 @@ width = 4.0
[node name="walkable_area" type="Navigation2D" parent="."]
script = ExtResource( 1 )
scales = null
bitmaps_scale = Vector2( 1, 1 )
lightmap = null
player_speed_multiplier = 1.0
player_doubleclick_speed_multiplier = 1.5
lightmap_modulate = Color( 1, 1, 1, 1 )
debug_mode = 1
scale_min = 0.3
scale_max = 1.0
[node name="platform" type="NavigationPolygonInstance" parent="walkable_area"]
position = Vector2( 6.73163, -264.779 )
+1 -1
View File
@@ -1,2 +1,2 @@
:exit_scene
change_scene "res://game/rooms/room10/room10.tscn"
+1 -1
View File
@@ -1,4 +1,4 @@
:use r9_bottle
set_state r9_stand set_bottle
set_state r9_door r_door_open
set_state r9_r_exit r_door_open
+1
View File
@@ -81,6 +81,7 @@ polygon = PoolVector2Array( 0.328762, 440.897, 1.85199, 119.926, 85.9517, 74.621
position = Vector2( 37.4521, 392.045 )
[node name="r_door" parent="Hotspots" instance=ExtResource( 9 )]
global_id = "r9_r_exit"
esc_script = "res://game/rooms/room9/esc/right_exit.esc"
[node name="Position2D" type="Position2D" parent="Hotspots/r_door"]
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1
View File
@@ -3,4 +3,5 @@
[ext_resource path="res://addons/escoria-core/game/assets/fonts/efmi/efmi.TTF" type="DynamicFontData" id=1]
[resource]
size = 21
font_data = ExtResource( 1 )
-12
View File
@@ -1,12 +0,0 @@
extends Control
func _on_new_game_pressed():
escoria.new_game()
func _on_load_game_pressed():
# Show Loading screen
pass
func _on_quit_pressed():
get_tree().quit()
-60
View File
@@ -1,60 +0,0 @@
[gd_scene load_steps=3 format=2]
[ext_resource path="res://game/ui/commons/main_menu.gd" type="Script" id=1]
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=2]
[node name="main_menu" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VBoxContainer" type="VBoxContainer" parent="."]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -92.0
margin_top = -73.5
margin_right = 92.0
margin_bottom = 73.5
custom_constants/separation = 10
__meta__ = {
"_edit_use_anchors_": false
}
[node name="new_game" type="Button" parent="VBoxContainer"]
margin_right = 184.0
margin_bottom = 83.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "New game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="load_game" type="Button" parent="VBoxContainer"]
margin_top = 93.0
margin_right = 184.0
margin_bottom = 115.0
custom_fonts/font = ExtResource( 2 )
text = "Load game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="quit" type="Button" parent="VBoxContainer"]
margin_top = 125.0
margin_right = 184.0
margin_bottom = 147.0
custom_fonts/font = ExtResource( 2 )
text = "Quit"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="VBoxContainer/new_game" to="." method="_on_new_game_pressed"]
[connection signal="pressed" from="VBoxContainer/load_game" to="." method="_on_load_game_pressed"]
[connection signal="pressed" from="VBoxContainer/quit" to="." method="_on_quit_pressed"]
+20
View File
@@ -0,0 +1,20 @@
extends Control
func _ready():
escoria.esc_level_runner.set_sound_state(["bg_music",
"res://game/sfx/Game-Menu_Looping.mp3", true])
func _on_new_game_pressed():
escoria.new_game()
func _on_load_game_pressed():
# Show Loading screen
pass
func _on_quit_pressed():
get_tree().quit()
func _on_continue_pressed():
pass # Replace with function body.
+81
View File
@@ -0,0 +1,81 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://game/ui/commons/main_menu/main_menu.gd" type="Script" id=1]
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=2]
[ext_resource path="res://addons/escoria-core/logo/escoria-logo-small.png" type="Texture" id=3]
[node name="main_menu" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Panel" type="Panel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
__meta__ = {
"_edit_use_anchors_": false,
"_editor_description_": ""
}
[node name="TextureRect" type="TextureRect" parent="Panel"]
anchor_left = 0.5
anchor_right = 0.5
margin_left = -308.0
margin_top = 52.0
margin_right = 308.0
margin_bottom = 288.0
texture = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -179.0
margin_top = -35.746
margin_right = 179.0
margin_bottom = 227.254
custom_constants/separation = 10
__meta__ = {
"_edit_use_anchors_": false
}
[node name="new_game" type="Button" parent="Panel/VBoxContainer"]
margin_right = 358.0
margin_bottom = 189.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "New game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="load_game" type="Button" parent="Panel/VBoxContainer"]
margin_top = 199.0
margin_right = 358.0
margin_bottom = 226.0
custom_fonts/font = ExtResource( 2 )
text = "Load game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="quit" type="Button" parent="Panel/VBoxContainer"]
margin_top = 236.0
margin_right = 358.0
margin_bottom = 263.0
custom_fonts/font = ExtResource( 2 )
text = "Quit"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="Panel/VBoxContainer/new_game" to="." method="_on_new_game_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/load_game" to="." method="_on_load_game_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/quit" to="." method="_on_quit_pressed"]
+17
View File
@@ -0,0 +1,17 @@
extends Control
func _on_continue_pressed():
escoria.main.current_scene.game.pause_game()
func _on_save_game_pressed():
pass
func _on_load_game_pressed():
pass
func _on_quit_pressed():
get_tree().quit()
@@ -0,0 +1,93 @@
[gd_scene load_steps=4 format=2]
[ext_resource path="res://game/ui/commons/pause_menu/pause_menu.gd" type="Script" id=1]
[ext_resource path="res://game/ui/commons/fonts/caslonantique.tres" type="DynamicFont" id=2]
[ext_resource path="res://addons/escoria-core/logo/escoria-logo-small.png" type="Texture" id=3]
[node name="pause_menu" type="Control"]
anchor_right = 1.0
anchor_bottom = 1.0
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Panel" type="Panel" parent="."]
anchor_right = 1.0
anchor_bottom = 1.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="TextureRect" type="TextureRect" parent="Panel"]
anchor_left = 0.5
anchor_right = 0.5
margin_left = -308.0
margin_right = 308.0
margin_bottom = 236.0
texture = ExtResource( 3 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="VBoxContainer" type="VBoxContainer" parent="Panel"]
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
margin_left = -127.8
margin_top = -80.62
margin_right = 127.8
margin_bottom = 80.62
custom_constants/separation = 10
__meta__ = {
"_edit_use_anchors_": false
}
[node name="continue" type="Button" parent="Panel/VBoxContainer"]
margin_right = 255.0
margin_bottom = 32.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "Continue"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="save_game" type="Button" parent="Panel/VBoxContainer"]
margin_top = 42.0
margin_right = 255.0
margin_bottom = 75.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "Save game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="load_game" type="Button" parent="Panel/VBoxContainer"]
margin_top = 85.0
margin_right = 255.0
margin_bottom = 118.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "Load game"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="quit" type="Button" parent="Panel/VBoxContainer"]
margin_top = 128.0
margin_right = 255.0
margin_bottom = 161.0
size_flags_vertical = 3
custom_fonts/font = ExtResource( 2 )
text = "Quit"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="pressed" from="Panel/VBoxContainer/continue" to="." method="_on_continue_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/save_game" to="." method="_on_save_game_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/load_game" to="." method="_on_load_game_pressed"]
[connection signal="pressed" from="Panel/VBoxContainer/quit" to="." method="_on_quit_pressed"]
+47 -28
View File
@@ -31,6 +31,9 @@ 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
func _ready():
ProjectSettings.set_setting("escoria/ui/tooltip_follows_mouse", false)
@@ -47,32 +50,32 @@ func _input(event):
func left_click_on_bg(position : Vector2) -> void:
escoria.do("walk", ["player", position])
escoria.esc_runner.clear_current_action()
$ui/verbs_layer/verbs_menu.unselect_actions()
verbs_menu.unselect_actions()
func right_click_on_bg(position : Vector2) -> void:
escoria.do("walk", ["player", position])
escoria.esc_runner.clear_current_action()
$ui/verbs_layer/verbs_menu.unselect_actions()
verbs_menu.unselect_actions()
func left_double_click_on_bg(position : Vector2) -> void:
escoria.do("walk", ["player", position, true])
escoria.esc_runner.clear_current_action()
$ui/verbs_layer/verbs_menu.unselect_actions()
verbs_menu.unselect_actions()
## ITEM FOCUS ##
func element_focused(element_id : String) -> void:
var target_obj = escoria.esc_runner.get_object(element_id)
$ui/tooltip_layer/tooltip.set_target(target_obj.tooltip_name)
tooltip.set_target(target_obj.tooltip_name)
if escoria.esc_runner.current_action != "use" && escoria.esc_runner.current_tool == null:
if target_obj is ESCItem:
$ui/verbs_layer/verbs_menu.set_by_name(target_obj.default_action)
verbs_menu.set_by_name(target_obj.default_action)
func element_unfocused() -> void:
$ui/tooltip_layer/tooltip.clear()
$ui/verbs_layer/verbs_menu.unselect_actions()
tooltip.clear()
verbs_menu.unselect_actions()
## ITEMS ##
@@ -80,7 +83,7 @@ func left_click_on_item(item_global_id : String, event : InputEvent) -> void:
escoria.do("item_left_click", [item_global_id, event])
func right_click_on_item(item_global_id : String, event : InputEvent) -> void:
escoria.esc_runner.set_current_action($ui/verbs_layer/verbs_menu.selected_action)
escoria.esc_runner.set_current_action(verbs_menu.selected_action)
escoria.do("item_right_click", [item_global_id, event])
func left_double_click_on_item(item_global_id : String, event : InputEvent) -> void:
@@ -93,54 +96,70 @@ func left_click_on_inventory_item(inventory_item_global_id : String, event : Inp
# if escoria.esc_runner.current_action == "use":
# var item = escoria.esc_runner.get_object(inventory_item_global_id)
# if item.texture:
# $ui/verbs_layer/verbs_menu.set_tool_texture(item.texture)
# verbs_menu.set_tool_texture(item.texture)
# elif item.inventory_item_scene_file.instance().texture_normal:
# $ui/verbs_layer/verbs_menu.set_tool_texture(item.inventory_item_scene_file.instance().texture_normal)
# verbs_menu.set_tool_texture(item.inventory_item_scene_file.instance().texture_normal)
func right_click_on_inventory_item(inventory_item_global_id : String, event : InputEvent) -> void:
escoria.esc_runner.set_current_action($ui/verbs_layer/verbs_menu.selected_action)
escoria.esc_runner.set_current_action(verbs_menu.selected_action)
escoria.do("item_right_click", [inventory_item_global_id, event])
func left_double_click_on_inventory_item(inventory_item_global_id : String, event : InputEvent) -> void:
func left_double_click_on_inventory_item(_inventory_item_global_id : String, _event : InputEvent) -> void:
pass
func inventory_item_focused(inventory_item_global_id : String) -> void:
var target_obj = escoria.esc_runner.get_object(inventory_item_global_id)
$ui/tooltip_layer/tooltip.set_target(target_obj.tooltip_name)
tooltip.set_target(target_obj.tooltip_name)
if escoria.esc_runner.current_action != "use" && escoria.esc_runner.current_tool == null:
if target_obj is ESCItem:
$ui/verbs_layer/verbs_menu.set_by_name(target_obj.default_action_inventory)
verbs_menu.set_by_name(target_obj.default_action_inventory)
func inventory_item_unfocused() -> void:
$ui/tooltip_layer/tooltip.set_target("")
$ui/verbs_layer/verbs_menu.unselect_actions()
tooltip.set_target("")
verbs_menu.unselect_actions()
func open_inventory():
$ui/inventory_layer/inventory_ui/inventory_button.show_inventory()
pass
func close_inventory():
$ui/inventory_layer/inventory_ui/inventory_button.close_inventory()
func mousewheel_action(direction : int):
pass
func mousewheel_action(_direction : int):
pass
func hide_ui():
$ui/panel_down.hide()
$ui/verbs_layer/verbs_menu.hide()
$ui/inventory_layer/inventory_ui.hide()
$ui/tooltip_layer/tooltip.hide()
verbs_menu.hide()
$ui/panel_down/inventory_layer/inventory_ui.hide()
tooltip.hide()
func show_ui():
$ui/panel_down.show()
$ui/verbs_layer/verbs_menu.show()
$ui/inventory_layer/inventory_ui.show()
$ui/tooltip_layer/tooltip.show()
verbs_menu.show()
$ui/panel_down/inventory_layer/inventory_ui.show()
tooltip.show()
func _on_event_done(event_name: String):
func _on_event_done(_event_name: String):
escoria.esc_runner.clear_current_action()
$ui/verbs_layer/verbs_menu.unselect_actions()
verbs_menu.unselect_actions()
func pause_game():
if $ui/pause_menu.visible:
$ui/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.show()
escoria.main.current_scene.game.get_node("camera").current = false
escoria.main.current_scene.game.hide_ui()
escoria.main.current_scene.hide()
+30 -20
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=10 format=2]
[gd_scene load_steps=11 format=2]
[ext_resource path="res://game/ui/ui_9verbs/tooltip/action_target_tooltip.tscn" type="PackedScene" id=1]
[ext_resource path="res://game/ui/ui_9verbs/inventory/inventory_ui.tscn" type="PackedScene" id=2]
@@ -8,6 +8,7 @@
[ext_resource path="res://addons/escoria-core/game/scenes/camera_player/camera.tscn" type="PackedScene" id=6]
[ext_resource path="res://game/ui/commons/room_select.tscn" type="PackedScene" id=7]
[ext_resource path="res://game/ui/ui_9verbs/tooltip/tooltip_action_target.gd" type="Script" id=8]
[ext_resource path="res://game/ui/commons/pause_menu/pause_menu.tscn" type="PackedScene" id=9]
[sub_resource type="StyleBoxFlat" id=1]
bg_color = Color( 0.6, 0.6, 0.6, 0.5 )
@@ -27,34 +28,40 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="verbs_layer" type="CanvasLayer" parent="ui"]
[node name="verbs_layer" type="CanvasLayer" parent="ui/panel_down"]
layer = 2
[node name="verbs_menu" parent="ui/verbs_layer" instance=ExtResource( 3 )]
margin_left = 21.097
margin_top = 615.331
margin_right = 21.097
margin_bottom = 615.331
[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/verbs_layer" instance=ExtResource( 7 )]
margin_left = 394.817
margin_top = 756.336
margin_right = 423.817
margin_bottom = 776.336
[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"]
[node name="inventory_layer" type="CanvasLayer" parent="ui/panel_down"]
layer = 2
[node name="inventory_ui" parent="ui/inventory_layer" instance=ExtResource( 2 )]
margin_left = 661.041
margin_top = 615.331
margin_right = 661.041
margin_bottom = 615.331
[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"]
[node name="tooltip_layer" type="CanvasLayer" parent="ui/panel_down"]
layer = 2
[node name="tooltip" parent="ui/tooltip_layer" instance=ExtResource( 1 )]
[node name="tooltip" parent="ui/panel_down/tooltip_layer" instance=ExtResource( 1 )]
anchor_left = 0.132
anchor_top = 0.719
anchor_right = 0.832
@@ -81,4 +88,7 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="pause_menu" parent="ui" instance=ExtResource( 9 )]
visible = false
[node name="camera" parent="." instance=ExtResource( 6 )]
+6 -11
View File
@@ -4,27 +4,22 @@
[ext_resource path="res://game/items/ESCORIA_ALL_ITEMS.tscn" type="PackedScene" id=2]
[ext_resource path="res://game/ui/ui_9verbs/inventory/inventory_ui_container.gd" type="Script" id=3]
[node name="inventory_ui" type="Control"]
[node name="inventory_ui" type="PanelContainer"]
margin_right = 600.0
margin_bottom = 175.0
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
items_container = NodePath("PanelContainer/ScrollContainer/GridContainer")
inventory_ui_container = NodePath("ScrollContainer/GridContainer")
[node name="PanelContainer" type="PanelContainer" parent="."]
margin_right = 600.0
margin_bottom = 175.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="ScrollContainer" type="ScrollContainer" parent="PanelContainer"]
[node name="ScrollContainer" type="ScrollContainer" parent="."]
margin_left = 7.0
margin_top = 7.0
margin_right = 593.0
margin_bottom = 168.0
[node name="GridContainer" type="GridContainer" parent="PanelContainer/ScrollContainer"]
[node name="GridContainer" type="GridContainer" parent="ScrollContainer"]
margin_right = 586.0
size_flags_horizontal = 3
custom_constants/vseparation = 16
+4 -4
View File
@@ -9,23 +9,23 @@ UI event (eg right click) to change the cursor accordingly.
var selected_action
func _ready():
for but in $actions.get_children():
for but in get_children():
but.connect("pressed", self, "_on_action_selected", [but.name])
but.toggle_mode = true
func _on_action_selected(action : String):
escoria.esc_runner.set_current_action(action)
for but in $actions.get_children():
for but in get_children():
but.set_pressed(but.get_name() == action)
func unselect_actions():
for but in $actions.get_children():
for but in get_children():
but.set_pressed(false)
func set_by_name(action_name : String):
selected_action = action_name
for but in $actions.get_children():
for but in get_children():
but.set_pressed(but.get_name() == action_name)
+45 -50
View File
@@ -2,25 +2,20 @@
[ext_resource path="res://game/ui/ui_9verbs/verbs_menu.gd" type="Script" id=1]
[node name="verbs_menu" type="Control"]
margin_left = 1.0
margin_right = 1.0
[node name="actions" type="GridContainer"]
margin_right = 493.0
margin_bottom = 263.0
size_flags_horizontal = 3
size_flags_vertical = 3
columns = 3
script = ExtResource( 1 )
__meta__ = {
"_edit_use_anchors_": false
}
[node name="actions" type="GridContainer" parent="."]
margin_right = 333.0
margin_bottom = 175.0
columns = 3
__meta__ = {
"_edit_use_anchors_": false
}
[node name="open" type="Button" parent="actions"]
margin_right = 108.0
margin_bottom = 55.0
[node name="open" type="Button" parent="."]
margin_right = 161.0
margin_bottom = 85.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -29,10 +24,10 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="pickup" type="Button" parent="actions"]
margin_left = 112.0
margin_right = 220.0
margin_bottom = 55.0
[node name="pickup" type="Button" parent="."]
margin_left = 165.0
margin_right = 326.0
margin_bottom = 85.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -41,10 +36,10 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="push" type="Button" parent="actions"]
margin_left = 224.0
margin_right = 332.0
margin_bottom = 55.0
[node name="push" type="Button" parent="."]
margin_left = 330.0
margin_right = 491.0
margin_bottom = 85.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -53,10 +48,10 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="close" type="Button" parent="actions"]
margin_top = 59.0
margin_right = 108.0
margin_bottom = 114.0
[node name="close" type="Button" parent="."]
margin_top = 89.0
margin_right = 161.0
margin_bottom = 174.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -65,11 +60,11 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="look" type="Button" parent="actions"]
margin_left = 112.0
margin_top = 59.0
margin_right = 220.0
margin_bottom = 114.0
[node name="look" type="Button" parent="."]
margin_left = 165.0
margin_top = 89.0
margin_right = 326.0
margin_bottom = 174.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -78,11 +73,11 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="pull" type="Button" parent="actions"]
margin_left = 224.0
margin_top = 59.0
margin_right = 332.0
margin_bottom = 114.0
[node name="pull" type="Button" parent="."]
margin_left = 330.0
margin_top = 89.0
margin_right = 491.0
margin_bottom = 174.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -91,10 +86,10 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="give" type="Button" parent="actions"]
margin_top = 118.0
margin_right = 108.0
margin_bottom = 173.0
[node name="give" type="Button" parent="."]
margin_top = 178.0
margin_right = 161.0
margin_bottom = 263.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -103,11 +98,11 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="use" type="Button" parent="actions"]
margin_left = 112.0
margin_top = 118.0
margin_right = 220.0
margin_bottom = 173.0
[node name="use" type="Button" parent="."]
margin_left = 165.0
margin_top = 178.0
margin_right = 326.0
margin_bottom = 263.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
@@ -116,11 +111,11 @@ __meta__ = {
"_edit_use_anchors_": false
}
[node name="talk" type="Button" parent="actions"]
margin_left = 224.0
margin_top = 118.0
margin_right = 332.0
margin_bottom = 173.0
[node name="talk" type="Button" parent="."]
margin_left = 330.0
margin_top = 178.0
margin_right = 491.0
margin_bottom = 263.0
size_flags_horizontal = 3
size_flags_vertical = 3
toggle_mode = true
+22 -11
View File
@@ -14,16 +14,21 @@ _global_script_classes=[ {
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/escbackground.gd"
}, {
"base": "Control",
"class": "ESCBackgroundMusic",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/bg_music.gd"
}, {
"base": "Control",
"class": "ESCBackgroundSound",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/sound/bg_sound.gd"
}, {
"base": "Camera2D",
"class": "ESCCamera",
"language": "GDScript",
"path": "res://addons/escoria-core/game/scenes/camera_player/esccamera.gd"
}, {
"base": "Node",
"class": "ESCCharacter",
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/esccharacter.gd"
}, {
"base": "ResourcePreloader",
"class": "ESCDialogsPlayer",
"language": "GDScript",
@@ -42,7 +47,7 @@ _global_script_classes=[ {
"base": "TextureButton",
"class": "ESCInventoryItem",
"language": "GDScript",
"path": "res://addons/escoria-core/game/core-scripts/inventory_item.gd"
"path": "res://addons/escoria-core/game/core-scripts/escinventoryitem.gd"
}, {
"base": "Area2D",
"class": "ESCItem",
@@ -76,8 +81,9 @@ _global_script_classes=[ {
} ]
_global_script_class_icons={
"ESCBackground": "",
"ESCBackgroundMusic": "",
"ESCBackgroundSound": "",
"ESCCamera": "",
"ESCCharacter": "",
"ESCDialogsPlayer": "",
"ESCGame": "",
"ESCInventory": "",
@@ -108,7 +114,9 @@ esctypes="*res://addons/escoria-core/game/core-scripts/escoria_types.gd"
[display]
window/size/width=1280
window/size/height=800
window/size/height=900
window/stretch/mode="2d"
window/stretch/aspect="keep"
[editor]
@@ -116,7 +124,7 @@ search_in_file_extensions=PoolStringArray( "gd", "shader", "esc" )
[editor_plugins]
enabled=PoolStringArray( "escoria-core" )
enabled=PoolStringArray( "res://addons/escoria-core/plugin.cfg" )
[escoria]
@@ -125,12 +133,15 @@ main/force_quit=true
debug/terminate_on_warnings=false
debug/terminate_on_errors=true
debug/development_lang="en"
ui/tooltip_follows_mouse=false
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.tscn"
ui/main_menu_scene="res://game/ui/commons/main_menu/main_menu.tscn"
ui/pause_menu_scene="res://game/ui/commons/pause_menu/pause_menu.tscn"
ui/game_scene="res://game/ui/ui_9verbs/game.tscn"
internals/save_data=""
ui/tooltip_follows_mouse=false
sound/music_volume=5
sound/sound_volume=8
[input]