Added bg_sound manager and according ESC command.
Started transitions scene.
This commit is contained in:
18
CREDITS
18
CREDITS
@@ -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/
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -349,7 +349,10 @@ func change_scene(params, context, run_events=true):
|
||||
# main.clear_scene()
|
||||
# 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:
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 )]
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
42
addons/escoria-core/game/scenes/sound/bg_music.gd
Normal file
42
addons/escoria-core/game/scenes/sound/bg_music.gd
Normal file
@@ -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)
|
||||
|
||||
16
addons/escoria-core/game/scenes/sound/bg_music.tscn
Normal file
16
addons/escoria-core/game/scenes/sound/bg_music.tscn
Normal file
@@ -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="."]
|
||||
41
addons/escoria-core/game/scenes/sound/bg_sound.gd
Normal file
41
addons/escoria-core/game/scenes/sound/bg_sound.gd
Normal file
@@ -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)
|
||||
16
addons/escoria-core/game/scenes/sound/bg_sound.tscn
Normal file
16
addons/escoria-core/game/scenes/sound/bg_sound.tscn
Normal file
@@ -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="."]
|
||||
BIN
addons/escoria-core/game/scenes/transitions/masks/curtain.png
Normal file
BIN
addons/escoria-core/game/scenes/transitions/masks/curtain.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 146 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 137 KiB |
BIN
addons/escoria-core/game/scenes/transitions/masks/shards.png
Normal file
BIN
addons/escoria-core/game/scenes/transitions/masks/shards.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 81 KiB |
Binary file not shown.
28
addons/escoria-core/game/scenes/transitions/transition.gd
Normal file
28
addons/escoria-core/game/scenes/transitions/transition.gd
Normal file
@@ -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")
|
||||
|
||||
83
addons/escoria-core/game/scenes/transitions/transition.tscn
Normal file
83
addons/escoria-core/game/scenes/transitions/transition.tscn
Normal file
@@ -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"]
|
||||
|
||||
@@ -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",
|
||||
|
||||
BIN
game/characters/mark/sfx/footstep_concrete_000.ogg
Normal file
BIN
game/characters/mark/sfx/footstep_concrete_000.ogg
Normal file
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -8,3 +8,5 @@
|
||||
teleport player player_start
|
||||
stop
|
||||
|
||||
:ready
|
||||
set_sound_state bg_music res://game/sfx/contemplation.ogg true
|
||||
|
||||
@@ -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
game/rooms/room10/background.tscn
Normal file
23
game/rooms/room10/background.tscn
Normal 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_": ""
|
||||
}
|
||||
2
game/rooms/room10/esc/button_play_bg_music.esc
Normal file
2
game/rooms/room10/esc/button_play_bg_music.esc
Normal file
@@ -0,0 +1,2 @@
|
||||
:use
|
||||
set_sound_state bg_music res://game/sfx/contemplation.ogg true
|
||||
3
game/rooms/room10/esc/button_play_snd.esc
Normal file
3
game/rooms/room10/esc/button_play_snd.esc
Normal file
@@ -0,0 +1,3 @@
|
||||
:use
|
||||
|
||||
set_sound_state bg_sound res://game/sfx/sounds/laser1.ogg false
|
||||
2
game/rooms/room10/esc/button_stop_bg_music.esc
Normal file
2
game/rooms/room10/esc/button_stop_bg_music.esc
Normal file
@@ -0,0 +1,2 @@
|
||||
:use
|
||||
set_sound_state bg_music off true
|
||||
5
game/rooms/room10/esc/left_exit.esc
Executable file
5
game/rooms/room10/esc/left_exit.esc
Executable 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
game/rooms/room10/esc/right_exit.esc
Executable file
2
game/rooms/room10/esc/right_exit.esc
Executable file
@@ -0,0 +1,2 @@
|
||||
:exit_scene
|
||||
|
||||
25
game/rooms/room10/esc/room10.esc
Executable file
25
game/rooms/room10/esc/room10.esc
Executable 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
game/rooms/room10/r_door.tscn
Normal file
130
game/rooms/room10/r_door.tscn
Normal 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
game/rooms/room10/room10.tscn
Normal file
129
game/rooms/room10/room10.tscn
Normal 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
game/rooms/room10/walkable_area.tscn
Normal file
18
game/rooms/room10/walkable_area.tscn
Normal 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_": ""
|
||||
}
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,2 +1,2 @@
|
||||
:exit_scene
|
||||
|
||||
change_scene "res://game/rooms/room10/room10.tscn"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
BIN
game/sfx/Game-Menu_Looping.mp3
Normal file
BIN
game/sfx/Game-Menu_Looping.mp3
Normal file
Binary file not shown.
BIN
game/sfx/Mystical-Ocean-Puzzle-Game.mp3
Normal file
BIN
game/sfx/Mystical-Ocean-Puzzle-Game.mp3
Normal file
Binary file not shown.
BIN
game/sfx/contemplation.ogg
Normal file
BIN
game/sfx/contemplation.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/doorClose_2.ogg
Normal file
BIN
game/sfx/sounds/doorClose_2.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/doorOpen_2.ogg
Normal file
BIN
game/sfx/sounds/doorOpen_2.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/laser1.ogg
Normal file
BIN
game/sfx/sounds/laser1.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/laser2.ogg
Normal file
BIN
game/sfx/sounds/laser2.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/laser3.ogg
Normal file
BIN
game/sfx/sounds/laser3.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/laser4.ogg
Normal file
BIN
game/sfx/sounds/laser4.ogg
Normal file
Binary file not shown.
BIN
game/sfx/sounds/laser5.ogg
Normal file
BIN
game/sfx/sounds/laser5.ogg
Normal file
Binary file not shown.
@@ -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 )
|
||||
|
||||
@@ -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()
|
||||
@@ -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
game/ui/commons/main_menu/main_menu.gd
Normal file
20
game/ui/commons/main_menu/main_menu.gd
Normal 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
game/ui/commons/main_menu/main_menu.tscn
Normal file
81
game/ui/commons/main_menu/main_menu.tscn
Normal 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
game/ui/commons/pause_menu/pause_menu.gd
Normal file
17
game/ui/commons/pause_menu/pause_menu.gd
Normal 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()
|
||||
93
game/ui/commons/pause_menu/pause_menu.tscn
Normal file
93
game/ui/commons/pause_menu/pause_menu.tscn
Normal file
@@ -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"]
|
||||
@@ -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()
|
||||
|
||||
@@ -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 )]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user