r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
IGameServer.hpp
Go to the documentation of this file.
1///
2/// @file IGameServer.hpp
3/// @brief This file contains the Game interface
4/// @namespace gme
5///
6
7#pragma once
8
9#include "ECS/Entity.hpp"
10#include "ECS/Registry.hpp"
12
13namespace gme
14{
15
16 enum class State : uint8_t
17 {
18 PLAYING = 0,
19 WIN = 1,
20 LOSE = 2,
21 };
22
23 ///
24 /// @interface IGameServer
25 /// @brief Interface for the games
26 /// @namespace gme
27 ///
29 {
30 public:
31 [[nodiscard]] virtual State getState() const = 0;
32
33 virtual void start() = 0;
34 virtual void stop() = 0;
35 virtual void update(float deltaTime) = 0;
36
37 private:
38 }; // class IGameServer
39} // namespace gme
This file contains the entity definitions.
This file contains the plugin interface.
This file contains the Registry class declaration.
Interface for the games.
virtual State getState() const =0
virtual void update(float deltaTime)=0
virtual void stop()=0
virtual void start()=0
Interface for plugins.
Definition IPlugin.hpp:38