pokepurple/addons/twitcher/media/twitch_emote_definition.gd

32 lines
1 KiB
GDScript3
Raw Permalink Normal View History

extends RefCounted
## Used to define what emotes to load to be typesafe and don't request invalid data.
class_name TwitchEmoteDefinition
var id: String
var _scale: int
var _type: String
var _theme: String
func _init(emote_id: String) -> void:
id = emote_id
scale_1().type_default().theme_dark()
func scale_1() -> TwitchEmoteDefinition: _scale = 1; return self;
func scale_2() -> TwitchEmoteDefinition: _scale = 2; return self;
func scale_3() -> TwitchEmoteDefinition: _scale = 3; return self;
func type_default() -> TwitchEmoteDefinition: _type = "default"; return self;
func type_static() -> TwitchEmoteDefinition: _type = "static"; return self;
func type_animated() -> TwitchEmoteDefinition: _type = "animated"; return self;
func theme_dark() -> TwitchEmoteDefinition: _theme = "dark"; return self;
func theme_light() -> TwitchEmoteDefinition: _theme = "light"; return self;
func _to_string() -> String:
return "Emote[%s]" % id
## Returns its unique filename
func get_file_name() -> String:
return "%s_%s_%s_%s" % [_scale, _type, _theme, id]