shine-runners-test/example/demo.gd
2025-04-21 00:17:07 +10:00

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