ESC compiler rewrite

Splits the former ESC_Runner and ESC_Level_Runner into multiple dedicated managers. 
Authored-by: Dennis Ploeger <develop@dieploegers.de>
This commit is contained in:
Dennis Ploeger
2021-06-04 16:12:42 +02:00
committed by GitHub
parent f069ab2ffd
commit 746a724f5a
115 changed files with 4740 additions and 2584 deletions

View File

@@ -19,7 +19,7 @@ font = ExtResource( 2 )
margin_left = 20.0
margin_top = 20.0
margin_right = 1280.0
margin_bottom = 800.0
margin_bottom = 900.0
scroll_horizontal_enabled = false
__meta__ = {
"_edit_use_anchors_": false

View File

@@ -2,8 +2,23 @@ extends Control
func _ready():
escoria.esc_level_runner.set_sound_state(["bg_music",
"res://game/sfx/Game-Menu_Looping.mp3", true])
var event = ESCEvent.new(":music")
event.statements.append(
ESCCommand.new(
"set_sound_state bg_music res://game/sfx/Game-Menu_Looping.mp3 true"
)
)
escoria.event_manager.queue_event(event)
var rc = yield(event, "finished")
if rc != ESCExecution.RC_OK:
escoria.logger.report_errors(
"main_menu: Can't start menu music",
[
"set_sound_state returned %d" % rc
]
)
return false
func _on_continue_pressed():

View File

@@ -15,21 +15,21 @@ func _on_language_input(event : InputEvent, language : String):
if event.is_pressed():
TranslationServer.set_locale(language)
escoria.settings["text_lang"] = language
escoria.esc_runner.save_data.save_settings(escoria.settings, null)
escoria.save_data.save_settings(escoria.settings, null)
func _on_sound_volume_changed(value):
escoria.settings["sfx_volume"] = value
escoria.esc_runner.save_data.save_settings(escoria.settings, null)
escoria.save_data.save_settings(escoria.settings, null)
escoria._on_settings_loaded(escoria.settings)
func _on_music_volume_changed(value):
escoria.settings["music_volume"] = value
escoria.esc_runner.save_data.save_settings(escoria.settings, null)
escoria.save_data.save_settings(escoria.settings, null)
escoria._on_settings_loaded(escoria.settings)
func _on_general_volume_changed(value):
escoria.settings["master_volume"] = value
escoria.esc_runner.save_data.save_settings(escoria.settings, null)
escoria.save_data.save_settings(escoria.settings, null)
escoria._on_settings_loaded(escoria.settings)

View File

@@ -23,14 +23,13 @@ func _ready():
func _on_button_pressed():
var actual_command = ":debug\nchange_scene " + options_paths[selected_id] + "\n"
var errors = []
var events = escoria.esc_compiler.compile_str(actual_command, errors)
var script = escoria.esc_compiler.compile([
":debug",
"change_scene %s" % options_paths[selected_id]
])
if errors.empty():
#past_actions.text += str(events)
var _ret = escoria.esc_runner.run_event(events["debug"])
escoria.event_manager.queue_event(script.events['debug'])
func _on_option_item_selected(index):
selected_id = index