#pragma once
/*
GameEngine and Editor
by John Ryland
Copyright (c) 2023
*/
////////////////////////////////////////////////////////////////////////////////////
// Entity Component System Interface
namespace GameEngine {
class IEntityComponentSystem
{
public:
IEntityComponentSystem() {}
virtual ~IEntityComponentSystem() {}
virtual void Initialize() = 0;
virtual void Shutdown() = 0;
virtual void Prepare() = 0;
virtual void Update() = 0;
virtual void Render() = 0;
virtual void Present() = 0;
};
} // GameEngine namespace