54 lines
1.3 KiB
GDScript
54 lines
1.3 KiB
GDScript
extends Node
|
|
|
|
func login_anon():
|
|
await VerySimpleTwitch.login_chat_anon(%ChannelName.text)
|
|
_show_logout_layout()
|
|
|
|
func login_token():
|
|
await VerySimpleTwitch.get_token_and_login_chat()
|
|
_show_logout_layout()
|
|
|
|
func logout():
|
|
VerySimpleTwitch.end_chat_client()
|
|
%TwitchChat.clear()
|
|
_show_login_layout()
|
|
|
|
|
|
#region Local methods to simplify demo
|
|
func _show_login_layout():
|
|
%TabContainer.set_tab_disabled(0, false)
|
|
%TabContainer.set_tab_disabled(1, false)
|
|
%LoggedLayout.hide()
|
|
%LoginToken.show()
|
|
%LoginAnon.show()
|
|
%ChannelName.editable = true
|
|
%ChannelName.selecting_enabled = true
|
|
|
|
func _show_logout_layout():
|
|
%TabContainer.set_tab_disabled(0, true)
|
|
%TabContainer.set_tab_disabled(1, true)
|
|
%LoginAnon.hide()
|
|
%LoggedLayout.show()
|
|
%LoginToken.hide()
|
|
%ChannelName.editable = false
|
|
%ChannelName.selecting_enabled = false
|
|
|
|
|
|
func clear_chat() -> void:
|
|
%TwitchChat.clear()
|
|
|
|
|
|
func _on_oauth_title_toggle_toggled(toggled_on: bool) -> void:
|
|
_update_toggle_icon(%OauthTitleToggle, toggled_on)
|
|
|
|
|
|
func _on_anonymous_title_toggle_toggled(toggled_on: bool) -> void:
|
|
_update_toggle_icon(%AnonymousTitleToggle, toggled_on)
|
|
|
|
|
|
func _update_toggle_icon(toggle_button: Button, toggled_on: bool) -> void:
|
|
var icon_path = "res://example/arrow_down.svg" if toggled_on else "res://example/arrow_right.svg"
|
|
var icon = load(icon_path)
|
|
toggle_button.icon = icon
|
|
|
|
#endregion
|