Initial Commit

Initial commit of Code Base.
This commit is contained in:
Mario Steele 2025-06-12 14:31:14 -05:00
parent 293b1213e1
commit c11a4ebbc2
653 changed files with 36893 additions and 1 deletions

View file

@ -0,0 +1,47 @@
@tool
extends Resource
## Defines howto subscribe to a eventsub subscription.
class_name TwitchEventsubConfig
static var _log: TwitchLogger = TwitchLogger.new("TwitchEventsubConfig")
## What do you want to subscribe
@export var type: TwitchEventsubDefinition.Type:
set = _update_type
## How do you want to subscribe defined by `definition conditions`.
@export var condition: Dictionary = {}
var definition: TwitchEventsubDefinition:
get(): return TwitchEventsubDefinition.ALL[type]
## Send from the server to identify the subscription for unsubscribing
var id: String
## Called when type changed
signal type_changed(new_type: TwitchEventsubDefinition.Type)
static func create(definition: TwitchEventsubDefinition, conditions: Dictionary) -> TwitchEventsubConfig:
var config = TwitchEventsubConfig.new()
config.type = definition.type
config.condition = conditions
for condition_name: StringName in definition.conditions:
if not conditions.has(condition_name):
_log.w("You miss probably following condition %s" % condition_name)
return config
func _update_type(val: TwitchEventsubDefinition.Type) -> void:
if type != val:
type = val
var definition: TwitchEventsubDefinition = TwitchEventsubDefinition.ALL[type]
var new_condition: Dictionary = {}
for condition_key: StringName in definition.conditions:
new_condition[condition_key] = condition.get(condition_key, "")
condition = new_condition
type_changed.emit(val)
func _to_string() -> String:
return "%s" % definition.get_readable_name()