2025-05-11 17:08:32 +10:00
|
|
|
extends Control
|
|
|
|
|
class_name Channel
|
|
|
|
|
|
2025-05-14 13:30:27 +10:00
|
|
|
signal channel_win
|
|
|
|
|
signal channel_lose
|
2025-05-11 17:08:32 +10:00
|
|
|
|
|
|
|
|
@export var channel_name : String
|
2025-05-11 20:04:24 +10:00
|
|
|
@export var channel_scene : PackedScene
|
2025-05-11 17:08:32 +10:00
|
|
|
@export_group("Node References")
|
|
|
|
|
@export var offline_channel_cover : TextureRect
|
|
|
|
|
@export var game_viewport : SubViewport
|
|
|
|
|
|
2025-05-14 13:30:27 +10:00
|
|
|
var channel_online : bool = false
|
2025-05-11 20:11:41 +10:00
|
|
|
|
|
|
|
|
func _ready() -> void:
|
2025-05-14 13:30:27 +10:00
|
|
|
#var new_scene = channel_scene.instantiate()
|
|
|
|
|
#game_viewport.add_child(new_scene)
|
|
|
|
|
#start_channel(channel_scene)
|
|
|
|
|
#if(channel_name == "Platformer"):
|
|
|
|
|
#start_channel(channel_scene)
|
|
|
|
|
pass
|
2025-05-11 20:11:41 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
func _process(delta: float) -> void:
|
|
|
|
|
offline_channel_cover.visible = !channel_online
|
2025-05-11 17:08:32 +10:00
|
|
|
|
2025-05-14 13:30:27 +10:00
|
|
|
func start_channel(scene : PackedScene):
|
|
|
|
|
var new_scene = scene.instantiate()
|
|
|
|
|
game_viewport.add_child(new_scene)
|
|
|
|
|
channel_online = true
|
2025-05-11 17:08:32 +10:00
|
|
|
|
|
|
|
|
func end_channel():
|
2025-05-14 13:30:27 +10:00
|
|
|
channel_online = false
|
|
|
|
|
game_viewport.get_child(0).queue_free()
|
2025-05-11 17:08:32 +10:00
|
|
|
|
|
|
|
|
func win_channel():
|
2025-05-14 13:30:27 +10:00
|
|
|
channel_win.emit()
|
|
|
|
|
end_channel()
|
2025-05-11 17:08:32 +10:00
|
|
|
|
|
|
|
|
func lose_channel():
|
2025-05-14 13:30:27 +10:00
|
|
|
channel_lose.emit()
|
|
|
|
|
end_channel()
|