CORE/core.gd

48 lines
1.1 KiB
GDScript3
Raw Normal View History

2023-03-18 16:34:12 +01:00
# core.gd
# CORE Holder
#
# This file is part of StarOpenSource CORE (SOSCORE)
# Made by the StarOpenSource Project and Contributers
# Licensed under GNU GPLv3
extends Node
const version = "git-develop"
2023-03-18 16:34:12 +01:00
var locked = false
var config = null
var wmgr = null
var smgr = null
var autoload = null
2023-03-18 16:34:12 +01:00
func attach(type:String,component:Script) -> void:
if locked:
return
Logger.diag("core","Attaching " + type + " to CORE")
var comp = Control.new()
comp.name = type
comp.set_script(component)
match(type):
"config":
add_child(comp)
config = comp
"wmgr":
add_child(comp)
wmgr = comp
"smgr":
add_child(comp)
smgr = comp
"autoload":
add_child(comp)
autoload = comp
2023-03-18 16:34:12 +01:00
_:
Logger.error("core","Failed attaching " + type + " to CORE: Invalid component")
comp.free()
return
Logger.diag("core","Attached " + type + " successfully")
func lock() -> void:
locked = true
Logger.diag("core","CORE is now locked. No new attachments can be made.")
func welcome() -> void:
Logger.info("core","CORE " + version + " welcomes you!<nl>It seems like everything is working :)")