diff options
Diffstat (limited to 'Starserver/StarServer.h')
-rw-r--r-- | Starserver/StarServer.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/Starserver/StarServer.h b/Starserver/StarServer.h new file mode 100644 index 0000000..0bcab06 --- /dev/null +++ b/Starserver/StarServer.h @@ -0,0 +1,54 @@ +/* Starshatter: The Open Source Project + Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors + Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors + Copyright (c) 1997-2006, Destroyer Studios LLC. + + AUTHOR: John DiCamillo + +*/ + +#ifndef StarServer_h +#define StarServer_h + +#include "Game.h" +#include "NetLobbyServer.h" +#include "NetServer.h" +#include "Mission.h" +#include "Types.h" +#include "Universe.h" + + +class StarServer : public Game +{ +public: + static StarServer* GetInstance(); + + StarServer(); + virtual ~StarServer(); + + virtual bool Init(HINSTANCE hi, HINSTANCE hpi, LPSTR cmdline, int nCmdShow); + virtual bool InitGame(); + + virtual void UpdateWorld(); + virtual void GameState(); + + bool Server() const override; + void SetGameMode(int mode) override; + + void CreateWorld(); + +protected: + virtual void InstantiateMission(); + + Universe* world; + Mission* current_mission; + + NetServer* admin_server; + NetLobbyServer* lobby_server; + +private: + static StarServer* instance; +}; + + +#endif // StarServer_h |