30 lines
832 B
GDScript3
30 lines
832 B
GDScript3
|
|
@tool
|
||
|
|
extends EditorProperty
|
||
|
|
|
||
|
|
const USER_CONVERTER = preload("res://addons/twitcher/editor/inspector/user_converter.tscn")
|
||
|
|
const UserConverter = preload("res://addons/twitcher/editor/inspector/user_converter.gd")
|
||
|
|
const TwitchEditorSettings = preload("res://addons/twitcher/editor/twitch_editor_settings.gd")
|
||
|
|
|
||
|
|
var _converter: UserConverter
|
||
|
|
|
||
|
|
|
||
|
|
func _init():
|
||
|
|
_converter = USER_CONVERTER.instantiate()
|
||
|
|
_converter.changed.connect(_on_changed)
|
||
|
|
add_child(_converter)
|
||
|
|
|
||
|
|
|
||
|
|
func _update_property() -> void:
|
||
|
|
var user: TwitchUser = get_edited_object()[get_edited_property()]
|
||
|
|
if user == null:
|
||
|
|
_converter.user_id = ""
|
||
|
|
_converter.user_login = ""
|
||
|
|
else:
|
||
|
|
_converter.user_id = user.id
|
||
|
|
_converter.user_login = user.login
|
||
|
|
|
||
|
|
|
||
|
|
func _on_changed(user: TwitchUser) -> void:
|
||
|
|
emit_changed(get_edited_property(), user, &"", true)
|
||
|
|
_update_property()
|