@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

## 
## #/components/schemas/UserExtensionComponent
class_name TwitchUserExtensionComponent
	
## A Boolean value that determines the extension’s activation state. If **false**, the user has not configured a component extension.
@export var active: bool:
	set(val): 
		active = val
		track_data(&"active", val)

## An ID that identifies the extension.
@export var id: String:
	set(val): 
		id = val
		track_data(&"id", val)

## The extension’s version.
@export var version: String:
	set(val): 
		version = val
		track_data(&"version", val)

## The extension’s name.
@export var name: String:
	set(val): 
		name = val
		track_data(&"name", val)

## The x-coordinate where the extension is placed.
@export var x: int:
	set(val): 
		x = val
		track_data(&"x", val)

## The y-coordinate where the extension is placed.
@export var y: int:
	set(val): 
		y = val
		track_data(&"y", val)
var response: BufferedHTTPClient.ResponseData


## Constructor with all required fields.
static func create(_active: bool) -> TwitchUserExtensionComponent:
	var twitch_user_extension_component: TwitchUserExtensionComponent = TwitchUserExtensionComponent.new()
	twitch_user_extension_component.active = _active
	return twitch_user_extension_component


static func from_json(d: Dictionary) -> TwitchUserExtensionComponent:
	var result: TwitchUserExtensionComponent = TwitchUserExtensionComponent.new()
	if d.get("active", null) != null:
		result.active = d["active"]
	if d.get("id", null) != null:
		result.id = d["id"]
	if d.get("version", null) != null:
		result.version = d["version"]
	if d.get("name", null) != null:
		result.name = d["name"]
	if d.get("x", null) != null:
		result.x = d["x"]
	if d.get("y", null) != null:
		result.y = d["y"]
	return result
