mirror of
https://github.com/JHDev2006/Super-Mario-Bros.-Remastered-Public.git
synced 2025-10-22 07:28:14 +00:00
56 lines
1.4 KiB
GDScript
56 lines
1.4 KiB
GDScript
extends VBoxContainer
|
|
|
|
signal closed
|
|
|
|
var file_path := ""
|
|
|
|
var active := false
|
|
|
|
func _ready() -> void:
|
|
set_process(false)
|
|
|
|
signal level_play
|
|
signal level_edit
|
|
|
|
func open(container: CustomLevelContainer = null) -> void:
|
|
if container != null:
|
|
for i in ["level_name", "level_author", "level_theme", "game_style", "level_time", "difficulty", "is_downloaded", "level_id", "thumbnail"]:
|
|
%SelectedLevel.set(i, container.get(i))
|
|
%SelectedLevel.update_visuals()
|
|
LevelEditor.level_name = container.level_name
|
|
CustomLevelMenu.current_level_file = container.file_path
|
|
LevelEditor.level_author = container.level_author
|
|
file_path = container.file_path
|
|
LevelEditor.level_desc = container.level_desc
|
|
%Description.text = container.level_desc
|
|
show()
|
|
await get_tree().physics_frame
|
|
active = true
|
|
set_process(true)
|
|
%Play.grab_focus()
|
|
|
|
func reopen() -> void:
|
|
show()
|
|
await get_tree().physics_frame
|
|
active = true
|
|
set_process(true)
|
|
%Play.grab_focus()
|
|
|
|
func _process(_delta: float) -> void:
|
|
if Input.is_action_just_pressed("ui_back") and active:
|
|
closed.emit()
|
|
close()
|
|
|
|
func level_selected() -> void:
|
|
LevelEditor.level_file = JSON.parse_string(FileAccess.open(file_path, FileAccess.READ).get_as_text())
|
|
level_play.emit()
|
|
active = false
|
|
|
|
func level_edited() -> void:
|
|
LevelEditor.level_file = JSON.parse_string(FileAccess.open(file_path, FileAccess.READ).get_as_text())
|
|
level_edit.emit()
|
|
|
|
func close() -> void:
|
|
hide()
|
|
set_process(false)
|