Terasology/subsystems
Tobias Nett 8e265d0e08
style: fix AnnotationUseStyle (#4710)
2021-05-26 15:52:56 +02:00
..
DiscordRPC style: improve code style (#4702) 2021-05-24 13:50:30 +02:00
TypeHandlerLibrary style: fix AnnotationUseStyle (#4710) 2021-05-26 15:52:56 +02:00
README.MD feature(subsystems): extract DiscordRPCSubSystem (#4233) 2020-11-14 21:07:36 +01:00
build.gradle build: remove commented-out uses of reflections-cache 2021-04-27 14:04:18 -07:00
subprojects.settings.gradle style: improve code style (#4702) 2021-05-24 13:50:30 +02:00

README.MD

Subsystems

Subsystems provide and extend engine functionality that might not be needed all the time.

A subsystem can provide an API to be implemented by other subsystems (API subsystem). Such an API subsystem does not provide any functionality on its own.

Typical examples for subsystems are:

  • platform integration (e.g., Discord)
  • native libraries usage
  • network activity

⚠️ Subsystems should not extend or provide gameplay features! Use Modules instead.

It is planned to allow combinations of modules with subsystems for new functionality in the future.

Comparation between Module and Subsystem functionality:

Module Subsystem
Boot at game start at game launch
Sandbox Yes No
Installing Yes, in-game download from server or repository No, with facade or engine only
Dependencies only another Modules any, except Modules
Build Script engine-driven free-style