Nebula
Loading...
Searching...
No Matches
multiplayerfeatureunit.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9#include "game/featureunit.h"
12
13//------------------------------------------------------------------------------
14namespace Multiplayer
15{
16
17const double NEBULA_DEFAULT_TICK_RATE = 1.0/8.0;
18
20{
23
24public:
25
30
31 void OnAttach() override;
32 void OnActivate() override;
33 void OnDeactivate() override;
34 void OnBeginFrame() override;
35 void OnFrame() override;
36 void OnEndFrame() override;
37
38 virtual void OnRenderDebug();
39
41 static void DrawNetworkDebugInfo();
42
44 bool IsServer() const;
49
50private:
53
54};
55
56//--------------------------------------------------------------------------
59inline bool
61{
62 return this->server != nullptr;
63}
64
65//--------------------------------------------------------------------------
68inline void
73
74//--------------------------------------------------------------------------
77inline void
82
83} // namespace Scripting
84//------------------------------------------------------------------------------
A FeatureUnit is an encapsulated feature which can be added to an application.
Definition featureunit.h:34
Definition basemultiplayerclient.h:26
Definition basemultiplayerserver.h:20
Definition multiplayerfeatureunit.h:20
static void DrawNetworkDebugInfo()
draw imgui network debug information for the active multiplayer feature
Definition multiplayerfeatureunit.cc:303
void OnAttach() override
called from GameServer::AttachGameFeature()
Definition multiplayerfeatureunit.cc:108
BaseMultiplayerClient * client
Definition multiplayerfeatureunit.h:52
void OnBeginFrame() override
called on begin of frame
Definition multiplayerfeatureunit.cc:229
virtual void OnRenderDebug()
called when game debug visualization is on
Definition multiplayerfeatureunit.cc:281
void SetClient(BaseMultiplayerClient *client)
Set the client that should be used (if any). You must set this before activating the feature unit.
Definition multiplayerfeatureunit.h:78
void OnDeactivate() override
called before GameServer::RemoveGameFeature()
Definition multiplayerfeatureunit.cc:209
void SetServer(BaseMultiplayerServer *server)
Set the server that should be used (if any). You must set this before activating the feature unit.
Definition multiplayerfeatureunit.h:69
void OnActivate() override
called after GameServer::AttachGameFeature()
Definition multiplayerfeatureunit.cc:183
bool IsServer() const
returns true if this instance is the server.
Definition multiplayerfeatureunit.h:60
BaseMultiplayerServer * server
Definition multiplayerfeatureunit.h:51
void OnFrame() override
called in the middle of the feature trigger cycle
Definition multiplayerfeatureunit.cc:242
void OnEndFrame() override
called at the end of the feature trigger cycle
Definition multiplayerfeatureunit.cc:251
__DeclareClass(MultiplayerFeatureUnit) __DeclareSingleton(MultiplayerFeatureUnit) public ~MultiplayerFeatureUnit()
destructor
Definition multiplayerfeatureunit.cc:99
Definition basemultiplayerclient.cc:25
const double NEBULA_DEFAULT_TICK_RATE
Definition multiplayerfeatureunit.h:17
#define __DeclareSingleton(type)
Definition osxsingleton.h:24
#define __DeclareClass(type)