CORE/docs/references/CORE.md
JeremyStarTM 99703cf03e CORE rewrite (#1)
Reviewed-on: StarOpenSource/core#1

Rewrote CORE and improved the startup process and startup time significantly. The documentation has been beefed up too and is now much better. Existing projects may need major refactoring however.
Co-authored-by: JeremyStarTM <jeremystartm@staropensource.de>
Co-committed-by: JeremyStarTM <jeremystartm@staropensource.de>
2023-08-25 14:34:57 +02:00

2.1 KiB

hide
navigation

CORE (/root/CORE)

The main "module"

Constants

version

  • type Dictionary
  • description The CORE version. "type" is the release type, "releasebuild" the number of the latest release and "full" the full version string.
  • keys type (String, either source, release or prerelease), releasebuild (int) and full (String)

Enums

Errors

  • description Contains all possible errors CORE can throw at you.
  • keys OK, CORE_PROTECTIONMODE, CORE_EXCEPTION, CORE_INVALID_MODULE, RESOURCEMANAGER_ALREADY_EXISTS, RESOURCEMANAGER_RESOURCE_MISSING, RESOURCEMANAGER_BATCH_EMPTY, SCENEMANAGER_ALREADY_LOADED, SCENEMANAGER_NOT_LOADED and SCENEMANAGER_NOT_PACKEDSCENE

Methods

welcome()

  • returns void
  • description Prints a welcome message and the CORE version.

reload_config()

  • returns void
  • description Reloads the configuration file and applies any changes (made in memory).

get_module()

  • returns Node
  • description Returns a CORE module. A alternative to get_node("/root/CORE/<module>")
    • argument module_name
      • type StringName
      • mandatory yes
      • description The CORE module that should be returned
      • possible values Config, Preprocessor, Logger, Miscellaneous, DebugDisplay, SplashScreen, ResourceManager, SceneManager and Events
  • example
extends Node

@onready
var core = get_node("/root/CORE")
@onready
var logger = core.get_module("Logger")

func _ready() -> void:
	logger.info("test.gd","Hi there!")

devmode()

  • returns void
  • description Enables the development mode
  • note Do not call this function unless you're working on CORE. It disables limits and many more things.

exit_safely()

  • returns void
  • description Exists CORE safely. Is recommended over get_tree().quit() as log messages may be stuck in processing and would get lost otherwise.
    • argument exitcode
      • type int
      • description Oh, you don't know what an exitcode is? Learn cmd.exe or bash you fool!
      • mandatory no, default value is 0
  • trivia The only thing this method does is to enable CORE's protection mode, wait 500ms (0.5s) and then quit.