first Prototype
This commit is contained in:
parent
e11825c698
commit
35ce267482
481 changed files with 17315 additions and 1 deletions
|
|
@ -0,0 +1,95 @@
|
|||
# Remap UI for LocalizationEditor : MIT License
|
||||
# @author Vladimir Petrenko
|
||||
@tool
|
||||
extends MarginContainer
|
||||
|
||||
var _key
|
||||
var _remap
|
||||
var _data: LocalizationData
|
||||
|
||||
@onready var _remap_ui = $HBox/Remap
|
||||
@onready var _audio_ui = $HBox/Audio
|
||||
@onready var _video_ui = $HBox/Video
|
||||
@onready var _image_ui = $HBox/Image
|
||||
|
||||
const LocalizationRemapDialogVideo = preload("res://addons/localization_editor/scenes/remaps/LocalizationRemapDialogVideo.tscn")
|
||||
const LocalizationRemapDialogImage = preload("res://addons/localization_editor/scenes/remaps/LocalizationRemapDialogImage.tscn")
|
||||
|
||||
func set_data(key, remap, data: LocalizationData) -> void:
|
||||
_key = key
|
||||
_remap = remap
|
||||
_data = data
|
||||
_remap_ui.set_data(key, remap, data)
|
||||
_init_connections()
|
||||
_draw_view()
|
||||
|
||||
func _init_connections() -> void:
|
||||
if not _data.is_connected("data_remapkey_value_changed", _draw_view):
|
||||
assert(_data.data_remapkey_value_changed.connect(_draw_view) == OK)
|
||||
if not _audio_ui.is_connected("pressed", _on_audio_pressed):
|
||||
assert(_audio_ui.connect("pressed", _on_audio_pressed) == OK)
|
||||
if not _video_ui.is_connected("pressed", _on_video_pressed):
|
||||
assert(_video_ui.connect("pressed", _on_video_pressed) == OK)
|
||||
if not _image_ui.is_connected("pressed", _on_image_pressed):
|
||||
assert(_image_ui.connect("pressed", _on_image_pressed) == OK)
|
||||
|
||||
func _draw_view() -> void:
|
||||
_check_buttons()
|
||||
|
||||
func _check_buttons() -> void:
|
||||
_hide_buttons()
|
||||
var type = _data.remap_type(_remap)
|
||||
match type:
|
||||
"audio":
|
||||
_audio_ui.show()
|
||||
"image":
|
||||
_image_ui.show()
|
||||
"video":
|
||||
_video_ui.show()
|
||||
|
||||
func _hide_buttons() -> void:
|
||||
_audio_ui.hide()
|
||||
_video_ui.hide()
|
||||
_image_ui.hide()
|
||||
|
||||
func _on_audio_pressed() -> void:
|
||||
var audio_player
|
||||
if get_tree().get_root().has_node("AudioPlayer"):
|
||||
audio_player = get_tree().get_root().get_node("AudioPlayer") as AudioStreamPlayer
|
||||
else:
|
||||
audio_player = AudioStreamPlayer.new()
|
||||
get_tree().get_root().add_child(audio_player)
|
||||
var audio = load(_remap.value)
|
||||
audio.set_loop(false)
|
||||
audio_player.stream = audio
|
||||
audio_player.play()
|
||||
|
||||
func _on_video_pressed() -> void:
|
||||
var video_dialog: Window = LocalizationRemapDialogVideo.instantiate()
|
||||
var root = get_tree().get_root()
|
||||
root.add_child(video_dialog)
|
||||
video_dialog.title = _data.filename(_remap.value)
|
||||
var video_player = video_dialog.get_node("VideoPlayer") as VideoStreamPlayer
|
||||
video_player.expand = true
|
||||
var video: VideoStream = load(_remap.value)
|
||||
video_player.stream = video
|
||||
video_dialog.close_requested.connect(_video_dialog_close.bind(video_dialog))
|
||||
video_dialog.popup_centered(Vector2i(500, 300))
|
||||
video_player.play()
|
||||
|
||||
func _video_dialog_close(video_dialog: Window) -> void:
|
||||
video_dialog.hide()
|
||||
|
||||
func _on_image_pressed() -> void:
|
||||
var image_dialog: Window = LocalizationRemapDialogImage.instantiate()
|
||||
var root = get_tree().get_root()
|
||||
root.add_child(image_dialog)
|
||||
image_dialog.title = _data.filename(_remap.value)
|
||||
var texture = image_dialog.get_node("Texture") as TextureRect
|
||||
var image = load(_remap.value)
|
||||
texture.texture = image
|
||||
image_dialog.close_requested.connect(_image_dialog_close.bind(image_dialog))
|
||||
image_dialog.popup_centered(Vector2i(500, 300))
|
||||
|
||||
func _image_dialog_close(image_dialog: Window) -> void:
|
||||
image_dialog.hide()
|
||||
Loading…
Add table
Add a link
Reference in a new issue