--[[
	Singleton manager that controls the systems on the ship. 
]]

local ServerStorage = game:GetService("ServerStorage")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local CollectionService = game:GetService("CollectionService")

local TableUtils = require(ReplicatedStorage.Dependencies.LuaUtils.TableUtils)
local Constants = require(ReplicatedStorage.Source.Common.Constants)
local Engine = require(ServerStorage.Source.Systems.Engine)
local Gravity = require(ServerStorage.Source.Systems.Gravity)
local Generator = require(ServerStorage.Source.Systems.Generator)
local Lights = require(ServerStorage.Source.Systems.Lights)
local Camera = require(ServerStorage.Source.Systems.Camera)
local Shield = require(ServerStorage.Source.Systems.Shield)

local SystemManager = {}

local systems = {}
