Open 3D Engine GridMate API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Classes | Public Member Functions | Protected Types | Protected Attributes | Friends | List of all members
GridMate::ReplicaChunkDescriptor Class Referenceabstract

#include <ReplicaChunkDescriptor.h>

Inherited by GridMate::DefaultReplicaChunkDescriptor< ReplicaChunkType >, and GridMate::DefaultReplicaChunkDescriptor< ReplicaChunkType, mask >.

Classes

struct  ReplicaChunkMemberDescriptor
 

Public Member Functions

 ReplicaChunkDescriptor (const char *pNameStr, size_t classSize)
 
virtual ReplicaChunkBaseCreateFromStream (UnmarshalContext &mc)=0
 Called by the system when creating replica chunks from network data.
 
virtual void DiscardCtorStream (UnmarshalContext &mc)=0
 Called by the system to skip ctor data from the stream.
 
virtual void DeleteReplicaChunk (ReplicaChunkBase *chunkInstance)=0
 Hook to implement chunk object deletion.
 
virtual void MarshalCtorData (ReplicaChunkBase *chunkInstance, WriteBuffer &wb)=0
 Called by the system when chunk ctor data needs to be sent.
 
virtual ZoneMask GetZoneMask () const
 
bool IsInitialized () const
 
const char * GetChunkName () const
 
ReplicaChunkClassId GetChunkTypeId () const
 
size_t GetChunkSize () const
 
void RegisterDataSet (const char *debugName, DataSetBase *ds)
 
void RegisterDataSet (const char *debugName, ptrdiff_t offset)
 
size_t GetDataSetCount () const
 
DataSetBaseGetDataSet (const ReplicaChunkBase *base, size_t index) const
 
size_t GetDataSetIndex (const ReplicaChunkBase *base, const DataSetBase *dataset) const
 
size_t GetDataSetIndex (ptrdiff_t offset) const
 
const char * GetDataSetName (const ReplicaChunkBase *base, const DataSetBase *dataset) const
 
void RegisterRPC (const char *debugName, RpcBase *rpc)
 
void RegisterRPC (const char *debugName, ptrdiff_t offset)
 
size_t GetRpcCount () const
 
RpcBaseGetRpc (const ReplicaChunkBase *base, size_t index) const
 
size_t GetRpcIndex (const ReplicaChunkBase *base, const RpcBase *rpc) const
 
size_t GetRpcIndex (ptrdiff_t offset) const
 
const char * GetRpcName (const ReplicaChunkBase *base, const RpcBase *rpc) const
 

Protected Types

typedef AZStd::fixed_vector< ReplicaChunkMemberDescriptor, GM_MAX_DATASETS_IN_CHUNK > VDT
 
typedef AZStd::fixed_vector< ReplicaChunkMemberDescriptor, GM_MAX_RPCS_DECL_PER_CHUNK > VRT
 

Protected Attributes

ReplicaChunkClassId m_chunkTypeId
 
const char * m_chunkClassName
 
size_t m_chunkClassSize
 
VDT m_vdt
 
VRT m_vrt
 
bool m_isInitialized
 

Friends

class ReplicaChunkDescriptorTable
 

Detailed Description

ReplicaChunkDescriptors provide the replica manager with structural information about replica chunk types so they can be created.

Descriptors are created during replica chunk registration, but their tables are not populated until first time an instance of such chunk type is created.

Replica chunk types are registered by calling ReplicaChunkDescriptorTable::RegisterChunkType().


The documentation for this class was generated from the following file: