36 lines
1 KiB
GDScript
36 lines
1 KiB
GDScript
extends RefCounted
|
|
|
|
## Definition to load or specify one specific badge
|
|
class_name TwitchBadgeDefinition
|
|
|
|
var badge_set: String
|
|
var badge_id: String
|
|
var scale: int
|
|
var channel: String
|
|
|
|
var _cache_id: String # This is maybe a bad idea, but solves the issue when the badge won't get found in cache and then it changes the channel to global during loading and so also the cache id
|
|
|
|
func scale_1() -> TwitchBadgeDefinition: scale = 1; return self;
|
|
func scale_2() -> TwitchBadgeDefinition: scale = 2; return self;
|
|
func scale_4() -> TwitchBadgeDefinition: scale = 4; return self;
|
|
|
|
|
|
func _init(set_id: String, id: String, badge_scale: int, badge_channel: String) -> void:
|
|
badge_set = set_id
|
|
badge_id = id
|
|
assert(badge_scale == 1 || badge_scale == 2 || badge_scale == 4)
|
|
scale = badge_scale
|
|
channel = badge_channel
|
|
_cache_id = "_".join([
|
|
channel,
|
|
badge_set,
|
|
badge_id,
|
|
scale
|
|
])
|
|
|
|
|
|
func _to_string() -> String:
|
|
return "Badge[%s/%s/%s]" % [channel, badge_set, badge_id]
|
|
|
|
func get_cache_id() -> String:
|
|
return _cache_id
|