Program Listing for File system.h

Return to documentation for file (PrismEngine/src/system.h)

#pragma once
#include <cstdint>

namespace prism {
    namespace scene {
        typedef uint32_t SystemId;

        const SystemId INVALID_SYSTEM_ID = 0;

        class ISystem {
            friend class SystemManager;
            bool enabled = true;
            bool started = false;
        public:
            virtual ~ISystem() = default;

            virtual void start() {};

            virtual void update() = 0;

            bool isEnabled() const { return enabled; }

            bool isStarted() const { return started; }
        };
    }
}