25 :
public System<NetworkSystem, EntityObjectSet<>, ComponentSet<NetworkEntityComponent>, EntityActionSet<TransferAuthority, HasAuthorityQuery>> {
45 void update(
double time) final;
57 template<typename A>
void addNetworkAction();
64 template<typename A>
void removeNetworkAction();
66 template<typename A, typename... Args> [[nodiscard]] typename
NetworkAction<A>::ReturnType remoteAct(
Entity& entity, Args&&... args);
97#include "NetworkSystem.inl"
#define CE_SCRIPT_EXPORT(...)
The CE_SCRIPT_EXPORT macro marks a class or method as exportable and available in scripting environme...
Definition Macros.hpp:247
Definition ActionHandler.hpp:23
The base entity class.
Definition Entity.hpp:41
Definition NetworkSystem.hpp:82
NetworkActionHandler(NetworkSystem *system)
Definition NetworkSystem.hpp:92
NetworkAction< A >::ReturnType act(Entity &entity, const NetworkAction< A > &action) final
Runs an action.
NetworkSystem * system
The attached network system.
Definition NetworkSystem.hpp:84
Definition NetworkSystem.hpp:25
Vector< UPtr< CeresEngine::AbstractActionHandler > > networkActionHandlers
A vector of the attached network action handlers.
Definition NetworkSystem.hpp:30
A system is a special kind of service that is managed internally by the SystemManager.
Definition System.hpp:168
Definition Application.hpp:19
cti::continuable< Args... > Async
Defines a non-copyable continuation type which uses the function2 backend for type erasure.
Definition Async.hpp:22
std::vector< T, ScopedAllocatorAdaptor< StdAllocator< T, RawAllocator > > > Vector
Vector is a sequence container that encapsulates dynamic size arrays.
Definition Vector.hpp:17
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition NetworkAction.hpp:20
std::conditional_t< std::is_same_v< A::ReturnType, void >, Async<>, Async< A::ReturnType > > ReturnType
Definition Action.hpp:36
Definition NetworkEntity.hpp:141
The NetworkAction is a special type of action that can be performed remotely on the server.
Definition NetworkAction.hpp:35
Definition NetworkEntity.hpp:140