INetEntity

#include

Classes

struct SRmiHandler
struct SRmiIndex
Entity-local unique index of the RMI that is sent over the network. More...

Public Member Functions

virtual bool BindToNetwork (EBindToNetworkMode mode=eBTNM_Normal)=0
Every entity must be bound to network to be synchronized.
virtual bool BindToNetworkWithParent (EBindToNetworkMode mode, EntityId parentId)=0
Bind this entity to the network system, with a dependency on its parent.
virtual void MarkAspectsDirty (NetworkAspectType aspects)=0
Use this to mark the aspect dirty and trigger its synchronization.
virtual void EnableAspect (NetworkAspectType aspects, bool enable)=0
Enables/disables network aspects. More...
virtual NetworkAspectType GetEnabledAspects () const =0
virtual void EnableDelegatableAspect (NetworkAspectType aspects, bool enable)=0
Can be used to disable delegation of a certain aspect, i.e. physics. More...
virtual bool IsAspectDelegatable (NetworkAspectType aspect) const =0
virtual uint8 GetDefaultProfile (EEntityAspects aspect)=0
Retrieves the default profile of an aspect.
virtual bool SetAspectProfile (EEntityAspects aspect, uint8 profile, bool fromNetwork=false)=0
Changes the current profile of an aspect. More...
virtual uint8 GetAspectProfile (EEntityAspects aspect)=0
virtual bool CaptureProfileManager (IGameObjectProfileManager *pPM)=0
virtual void ReleaseProfileManager (IGameObjectProfileManager *pPM)=0
virtual bool HasProfileManager ()=0
virtual void ClearProfileManager ()=0
virtual void SetChannelId (uint16 id)=0
virtual uint16 GetChannelId () const =0
virtual void BecomeBound ()=0
virtual bool IsBoundToNetwork () const =0
virtual void DontSyncPhysics ()=0
A one off call to never enable the physics aspect, this needs to be done before the BindToNetwork.
virtual void SetAuthority (bool auth)=0
Internal use. More...
virtual bool HasAuthority () const =0
virtual void SetNetworkParent (EntityId id)=0
virtual bool NetSerializeEntity (TSerialize ser, EEntityAspects aspect, uint8 profile, int flags)=0
Internal use. More...
virtual void OnNetworkedEntityTransformChanged (EntityTransformationFlagsMask transformReasons)=0
Sent by the entity when its transformation changes.
virtual void OnEntityInitialized ()
virtual void RmiRegister (const SRmiHandler &handler)=0
Internal use.
virtual SRmiIndex RmiByDecoder (SRmiHandler::DecoderF decoder, SRmiHandler **handler)=0
Internal use.
virtual SRmiHandler::DecoderF RmiByIndex (const SRmiIndex idx)=0
Internal use.

Detailed Description

Each entity has a network proxy implementing this interface. Use it to bind the entity to network, to fine-tune synced aspects or to subscribe for aspect profile or authority change events.

See also
CNetEntity

Member Function Documentation

◆ EnableAspect()

virtual void INetEntity::EnableAspect ( NetworkAspectType aspects,
bool enable
)
pure virtual

Enables/disables network aspects.

Can be called anytime after binding.

◆ EnableDelegatableAspect()

virtual void INetEntity::EnableDelegatableAspect ( NetworkAspectType aspects,
bool enable
)
pure virtual

Can be used to disable delegation of a certain aspect, i.e. physics.

This should be called before BindToNetwork(). By default, all delegatable aspects are enabled.

◆ NetSerializeEntity()

virtual bool INetEntity::NetSerializeEntity ( TSerialize ser,
EEntityAspects aspect,
uint8 profile,
int flags
)
pure virtual

Internal use.

See also
IEntityComponent::NetSerialize() to implement network serialization.

◆ SetAspectProfile()

virtual bool INetEntity::SetAspectProfile ( EEntityAspects aspect,
uint8 profile,
bool fromNetwork = false
)
pure virtual

Changes the current profile of an aspect.

Game code should ensure that things work out correctly. Example: Change physicalization.

◆ SetAuthority()

virtual void INetEntity::SetAuthority ( bool auth)
pure virtual

Internal use.

See also
CNetContext::DelegateAuthority() to delegate the authority.