![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
Base class for your replicated objects for the ReplicaManager3 system. More...
#include <ReplicaManager3.h>
Inheritance diagram for RakNet::Replica3:Public Member Functions | |
| virtual void | BroadcastDestruction (void) |
| virtual void | DeallocReplica (RakNet::Connection_RM3 *sourceConnection)=0 |
| Override with {delete this;}. | |
| virtual void | Deserialize (RakNet::DeserializeParameters *deserializeParameters)=0 |
| Read what was written in Serialize() | |
| virtual bool | DeserializeConstruction (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *sourceConnection)=0 |
| Read data written by Replica3::SerializeConstruction() | |
| virtual void | DeserializeConstructionExisting (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *sourceConnection) |
| virtual bool | DeserializeDestruction (RakNet::BitStream *destructionBitstream, RakNet::Connection_RM3 *sourceConnection)=0 |
| Read data written by Replica3::SerializeDestruction() | |
| RakNetGUID | GetCreatingSystemGUID (void) const |
| virtual void | OnPoppedConnection (RakNet::Connection_RM3 *droppedConnection) |
| Notification called for each of our replicas when a connection is popped. | |
| virtual void | OnSerializeTransmission (RakNet::BitStream *bitStream, const SystemAddress &systemAddress) |
| Called when the class is actually transmitted via Serialize() | |
| virtual void | OnUserReplicaPreSerializeTick (void) |
| Called for each replica owned by the user, once per Serialization tick, before Serialize() is called. If you want to do some kind of operation on the Replica objects that you own, just before Serialization(), then overload this function. | |
| virtual void | PostDeserializeConstruction (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *sourceConnection) |
| virtual void | PostDeserializeConstructionExisting (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *sourceConnection) |
| Same as PostDeserializeConstruction(), but for objects that returned RM3CS_ALREADY_EXISTS_REMOTELY from QueryConstruction. | |
| virtual void | PostSerializeConstruction (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *destinationConnection) |
| Called after SerializeConstruction completes for all objects in a given update tick. Writes to PostDeserializeConstruction(), which is called after all objects are created for a given Construction tick(). Override to send data to PostDeserializeConstruction(), such as the NetworkID of other objects to resolve pointers to. | |
| virtual void | PostSerializeConstructionExisting (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *destinationConnection) |
| Same as PostSerializeConstruction(), but for objects that returned RM3CS_ALREADY_EXISTS_REMOTELY from QueryConstruction. | |
| virtual void | PreDestruction (RakNet::Connection_RM3 *sourceConnection) |
| virtual RakNet::RM3ActionOnPopConnection | QueryActionOnPopConnection (RakNet::Connection_RM3 *droppedConnection) const =0 |
| The system is asking what to do with this replica when the connection is dropped. | |
| virtual RM3ActionOnPopConnection | QueryActionOnPopConnection_Client (RakNet::Connection_RM3 *droppedConnection) const |
| Default: If we are a client, and the connection is lost, delete the server's objects. | |
| virtual RM3ActionOnPopConnection | QueryActionOnPopConnection_PeerToPeer (RakNet::Connection_RM3 *droppedConnection) const |
| Default: If we are a peer, and the connection is lost, delete the peer's objects. | |
| virtual RM3ActionOnPopConnection | QueryActionOnPopConnection_Server (RakNet::Connection_RM3 *droppedConnection) const |
| Default: If we are a client, and the connection is lost, delete the client's objects and broadcast the destruction. | |
| virtual RM3ConstructionState | QueryConstruction (RakNet::Connection_RM3 *destinationConnection, ReplicaManager3 *replicaManager3)=0 |
| Ask if this object, which does not exist on destinationConnection should (now) be sent to that system. | |
| virtual RM3ConstructionState | QueryConstruction_ClientConstruction (RakNet::Connection_RM3 *destinationConnection, bool isThisTheServer) |
| Default call for QueryConstruction(). | |
| virtual RM3ConstructionState | QueryConstruction_PeerToPeer (RakNet::Connection_RM3 *destinationConnection) |
| Default call for QueryConstruction(). | |
| virtual RM3ConstructionState | QueryConstruction_ServerConstruction (RakNet::Connection_RM3 *destinationConnection, bool isThisTheServer) |
| Default call for QueryConstruction(). | |
| virtual RM3DestructionState | QueryDestruction (RakNet::Connection_RM3 *destinationConnection, ReplicaManager3 *replicaManager3) |
| Ask if this object, which does exist on destinationConnection should be removed from the remote system. | |
| virtual bool | QueryRemoteConstruction (RakNet::Connection_RM3 *sourceConnection)=0 |
| We're about to call DeserializeConstruction() on this Replica3. If QueryRemoteConstruction() returns false, this object is deleted instead. | |
| virtual bool | QueryRemoteConstruction_ClientConstruction (RakNet::Connection_RM3 *sourceConnection, bool isThisTheServer) |
| virtual bool | QueryRemoteConstruction_PeerToPeer (RakNet::Connection_RM3 *sourceConnection) |
| Default call for QueryRemoteConstruction(). | |
| virtual bool | QueryRemoteConstruction_ServerConstruction (RakNet::Connection_RM3 *sourceConnection, bool isThisTheServer) |
| Default call for QueryRemoteConstruction(). Allow the server to create this object, but not the client. | |
| virtual RakNet::RM3QuerySerializationResult | QuerySerialization (RakNet::Connection_RM3 *destinationConnection)=0 |
| Implement with QuerySerialization_ClientSerializable(), QuerySerialization_ServerSerializable(), or QuerySerialization_PeerToPeer() | |
| virtual RakNet::RM3QuerySerializationResult | QuerySerialization_ClientSerializable (RakNet::Connection_RM3 *destinationConnection, bool isThisTheServer) |
| Default call for QuerySerialization(). | |
| virtual RakNet::RM3QuerySerializationResult | QuerySerialization_PeerToPeer (RakNet::Connection_RM3 *destinationConnection) |
| Default call for QuerySerialization(). | |
| virtual RakNet::RM3QuerySerializationResult | QuerySerialization_ServerSerializable (RakNet::Connection_RM3 *destinationConnection, bool isThisTheServer) |
| Default call for QuerySerialization(). | |
| Replica3 () | |
| virtual RM3SerializationResult | Serialize (RakNet::SerializeParameters *serializeParameters)=0 |
| Serialize our class to a bitstream. | |
| virtual void | SerializeConstruction (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *destinationConnection)=0 |
| Write data to be sent only when the object is constructed on a remote system. | |
| virtual void | SerializeConstructionExisting (RakNet::BitStream *constructionBitstream, RakNet::Connection_RM3 *destinationConnection) |
| virtual void | SerializeDestruction (RakNet::BitStream *destructionBitstream, RakNet::Connection_RM3 *destinationConnection)=0 |
| Write extra data to send with the object deletion event, if desired. | |
| bool | WasReferenced (void) const |
| virtual void | WriteAllocationID (RakNet::Connection_RM3 *destinationConnection, RakNet::BitStream *allocationIdBitstream) const =0 |
| Write a unique identifer that can be read on a remote system to create an object of this same class. | |
| virtual | ~Replica3 () |
Public Attributes | |
| RakNetGUID | creatingSystemGUID |
| RakNetGUID | deletingSystemGUID |
| GUID of the system that caused the item to send a deletion command over the network. | |
| bool | forceSendUntilNextUpdate |
| LastSerializationResultBS | lastSentSerialization |
| ReplicaManager3 * | replicaManager |
| RakNet::Time | whenLastSerialized |
To use, derive your class, or a member of your class, from Replica3.
Definition at line 715 of file ReplicaManager3.h.
| RakNet::Replica3::Replica3 | ( | ) |
| virtual RakNet::Replica3::~Replica3 | ( | ) | [virtual] |
Before deleting a local instance of Replica3, call Replica3::BroadcastDestruction() for the deletion notification to go out on the network. It is not necessary to call ReplicaManager3::Dereference(), as this happens automatically in the destructor
| virtual void RakNet::Replica3::BroadcastDestruction | ( | void | ) | [virtual] |
Call to send a network message to delete this object on other systems.
Call it before deleting the object
| virtual void RakNet::Replica3::DeallocReplica | ( | RakNet::Connection_RM3 * | sourceConnection | ) | [pure virtual] |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual void RakNet::Replica3::Deserialize | ( | RakNet::DeserializeParameters * | deserializeParameters | ) | [pure virtual] |
Reads the contents of the class from SerializationParamters::serializationBitstream.
Called whenever Serialize() is called with different data from the last send.
| [in] | serializationBitstream | Bitstream passed to Serialize() |
| [in] | timeStamp | 0 if unused, else contains the time the message originated on the remote system |
| [in] | sourceConnection | Which system sent to us |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual bool RakNet::Replica3::DeserializeConstruction | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | sourceConnection | ||
| ) | [pure virtual] |
Reads whatever data was written to constructionBitstream in Replica3::SerializeConstruction()
| [out] | constructionBitstream | Bitstream written to in Replica3::SerializeConstruction() |
| [in] | sourceConnection | System that sent us this network message. |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual void RakNet::Replica3::DeserializeConstructionExisting | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | sourceConnection | ||
| ) | [inline, virtual] |
Same as DeserializeConstruction(), but for an object that already exists on the remote system. Used if you return RM3CS_ALREADY_EXISTS_REMOTELY from QueryConstruction
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 784 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) sourceConnection;};
| virtual bool RakNet::Replica3::DeserializeDestruction | ( | RakNet::BitStream * | destructionBitstream, |
| RakNet::Connection_RM3 * | sourceConnection | ||
| ) | [pure virtual] |
Return true to delete the object. BroadcastDestruction() will be called automatically, followed by ReplicaManager3::Dereference.
Return false to not delete it. If you delete it at a later point, you are responsible for calling BroadcastDestruction() yourself.
Implemented in RakNet::Replica3Composite< parent_type >.
| RakNetGUID RakNet::Replica3::GetCreatingSystemGUID | ( | void | ) | const |
creatingSystemGUID is set the first time Reference() is called, or if we get the object from another system
| virtual void RakNet::Replica3::OnPoppedConnection | ( | RakNet::Connection_RM3 * | droppedConnection | ) | [inline, virtual] |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 803 of file ReplicaManager3.h.
{(void) droppedConnection;}
| virtual void RakNet::Replica3::OnSerializeTransmission | ( | RakNet::BitStream * | bitStream, |
| const SystemAddress & | systemAddress | ||
| ) | [inline, virtual] |
Use to track how much bandwidth this class it taking
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 839 of file ReplicaManager3.h.
{(void) bitStream; (void) systemAddress; }
| virtual void RakNet::Replica3::OnUserReplicaPreSerializeTick | ( | void | ) | [inline, virtual] |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 826 of file ReplicaManager3.h.
{}
| virtual void RakNet::Replica3::PostDeserializeConstruction | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | sourceConnection | ||
| ) | [inline, virtual] |
Called after DeserializeConstruction completes for all objects in a given update tick.
This is used to resolve dependency chains, where two objects would refer to each other in DeserializeConstruction, yet one had not been constructed yet In PostDeserializeConstruction(), you know that all objects have already been created, so can resolve NetworkIDs to pointers safely. You can also use it to trigger some sort of event when you know the object has completed deserialization.
| [in] | constructionBitstream | BitStream written in PostSerializeConstruction() |
| [in] | sourceConnection | System that sent us this network message. |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 860 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) sourceConnection;}
| virtual void RakNet::Replica3::PostDeserializeConstructionExisting | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | sourceConnection | ||
| ) | [inline, virtual] |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 866 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) sourceConnection;}
| virtual void RakNet::Replica3::PostSerializeConstruction | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | destinationConnection | ||
| ) | [inline, virtual] |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 852 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) destinationConnection;}
| virtual void RakNet::Replica3::PostSerializeConstructionExisting | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | destinationConnection | ||
| ) | [inline, virtual] |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 863 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) destinationConnection;}
| virtual void RakNet::Replica3::PreDestruction | ( | RakNet::Connection_RM3 * | sourceConnection | ) | [inline, virtual] |
Called after DeserializeDestruction completes for the object successfully, but obviously before the object is deleted.
Override to trigger some sort of event when you know the object has completed destruction.
| [in] | sourceConnection | System that sent us this network message. |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 871 of file ReplicaManager3.h.
{(void) sourceConnection;}
| virtual RakNet::RM3ActionOnPopConnection RakNet::Replica3::QueryActionOnPopConnection | ( | RakNet::Connection_RM3 * | droppedConnection | ) | const [pure virtual] |
Return QueryActionOnPopConnection_Client, QueryActionOnPopConnection_Server, or QueryActionOnPopConnection_PeerToPeer
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual RM3ActionOnPopConnection RakNet::Replica3::QueryActionOnPopConnection_Client | ( | RakNet::Connection_RM3 * | droppedConnection | ) | const [virtual] |
| virtual RM3ActionOnPopConnection RakNet::Replica3::QueryActionOnPopConnection_PeerToPeer | ( | RakNet::Connection_RM3 * | droppedConnection | ) | const [virtual] |
| virtual RM3ActionOnPopConnection RakNet::Replica3::QueryActionOnPopConnection_Server | ( | RakNet::Connection_RM3 * | droppedConnection | ) | const [virtual] |
| virtual RM3ConstructionState RakNet::Replica3::QueryConstruction | ( | RakNet::Connection_RM3 * | destinationConnection, |
| ReplicaManager3 * | replicaManager3 | ||
| ) | [pure virtual] |
If ReplicaManager3::QueryConstructionMode() returns QUERY_CONNECTION_FOR_REPLICA_LIST or QUERY_REPLICA_FOR_CONSTRUCTION_AND_DESTRUCTION (default), then QueyrConstruction() is called once per tick from ReplicaManager3::Update() to determine if an object should exist on a given system.
Based on the return value, a network message may be sent to the other system to create the object.
If QueryConstructionMode() is overriden to return QUERY_CONNECTION_FOR_REPLICA_LIST, this function is unused.
| [in] | destinationConnection | Which system we will send to |
| [in] | replicaManager3 | Plugin instance for this Replica3 |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual RM3ConstructionState RakNet::Replica3::QueryConstruction_ClientConstruction | ( | RakNet::Connection_RM3 * | destinationConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Both the client and the server is allowed to create this object. The network topology is client/server
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual RM3ConstructionState RakNet::Replica3::QueryConstruction_PeerToPeer | ( | RakNet::Connection_RM3 * | destinationConnection | ) | [virtual] |
All clients are allowed to create all objects. The object is not relayed when remotely created
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| virtual RM3ConstructionState RakNet::Replica3::QueryConstruction_ServerConstruction | ( | RakNet::Connection_RM3 * | destinationConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Only the server is allowed to create this object. The network topology is client/server
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual RM3DestructionState RakNet::Replica3::QueryDestruction | ( | RakNet::Connection_RM3 * | destinationConnection, |
| ReplicaManager3 * | replicaManager3 | ||
| ) | [inline, virtual] |
If ReplicaManager3::QueryConstructionMode() returns QUERY_REPLICA_FOR_CONSTRUCTION_AND_DESTRUCTION (default), then QueryDestruction() is called once per tick from ReplicaManager3::Update() to determine if an object that exists on a remote system should be destroyed for a given system.
Based on the return value, a network message may be sent to the other system to destroy the object.
Note that you can also destroy objects with BroadcastDestruction(), so this function is not useful unless you plan to delete objects for only a particular connection.
If QueryConstructionMode() is overriden to return QUERY_CONNECTION_FOR_REPLICA_LIST, this function is unused.
| [in] | destinationConnection | Which system we will send to |
| [in] | replicaManager3 | Plugin instance for this Replica3 |
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 751 of file ReplicaManager3.h.
References RakNet::RM3DS_DO_NOT_QUERY_DESTRUCTION.
{(void) destinationConnection; (void) replicaManager3; return RM3DS_DO_NOT_QUERY_DESTRUCTION;}
| virtual bool RakNet::Replica3::QueryRemoteConstruction | ( | RakNet::Connection_RM3 * | sourceConnection | ) | [pure virtual] |
By default, QueryRemoteConstruction_ServerConstruction() does not allow clients to create objects. The client will get Replica3::DeserializeConstructionRequestRejected().
If you want the client to be able to potentially create objects for client/server, override accordingly.
Other variants of QueryRemoteConstruction_* just return true.
| [in] | sourceConnection | Which system sent us the object creation request message. |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual bool RakNet::Replica3::QueryRemoteConstruction_ClientConstruction | ( | RakNet::Connection_RM3 * | sourceConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Default call for QueryRemoteConstruction().
Both the client and the server is allowed to create this object. The network topology is client/server
| [in] | sourceConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual bool RakNet::Replica3::QueryRemoteConstruction_PeerToPeer | ( | RakNet::Connection_RM3 * | sourceConnection | ) | [virtual] |
All clients are allowed to create all objects. The object is not relayed when remotely created
| [in] | sourceConnection | destinationConnection parameter passed to QueryConstruction() |
| virtual bool RakNet::Replica3::QueryRemoteConstruction_ServerConstruction | ( | RakNet::Connection_RM3 * | sourceConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Only the server is allowed to create this object. The network topology is client/server
| [in] | sourceConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual RakNet::RM3QuerySerializationResult RakNet::Replica3::QuerySerialization | ( | RakNet::Connection_RM3 * | destinationConnection | ) | [pure virtual] |
QuerySerialization() is a first pass query to check if a given object should serializable to a given system. The intent is that the user implements with one of the defaults for client, server, or peer to peer.
Without this function, a careless implementation would serialize an object anytime it changed to all systems. This would give you feedback loops as the sender gets the same message back from the recipient it just sent to.
If more than one system can serialize the same object then you will need to override to return true, and control the serialization result from Replica3::Serialize(). Be careful not to send back the same data to the system that just sent to you!
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual RakNet::RM3QuerySerializationResult RakNet::Replica3::QuerySerialization_ClientSerializable | ( | RakNet::Connection_RM3 * | destinationConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Use if the values you are serializing are generated by the client that owns the object. The serialization will be relayed through the server to the other clients.
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual RakNet::RM3QuerySerializationResult RakNet::Replica3::QuerySerialization_PeerToPeer | ( | RakNet::Connection_RM3 * | destinationConnection | ) | [virtual] |
Use if the values you are serializing are on a peer to peer network. The peer that owns the object will send to all. Remote peers will not send.
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| virtual RakNet::RM3QuerySerializationResult RakNet::Replica3::QuerySerialization_ServerSerializable | ( | RakNet::Connection_RM3 * | destinationConnection, |
| bool | isThisTheServer | ||
| ) | [virtual] |
Use if the values you are serializing are generated only by the server. The serialization will be sent to all clients, but the clients will not send back to the server.
| [in] | destinationConnection | destinationConnection parameter passed to QueryConstruction() |
| [in] | isThisTheServer | True if this system is the server, false if not. |
| virtual RM3SerializationResult RakNet::Replica3::Serialize | ( | RakNet::SerializeParameters * | serializeParameters | ) | [pure virtual] |
User should implement this function to write the contents of this class to SerializationParamters::serializationBitstream.
If data only needs to be written once, you can write it to SerializeConstruction() instead for efficiency.
Transmitted over the network if it changed from the last time we called Serialize().
Called every time the time interval to ReplicaManager3::SetAutoSerializeInterval() elapses and ReplicaManager3::Update is subsequently called.
| in/out] | serializeParameters Parameters controlling the serialization, including destination bitstream to write to |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual void RakNet::Replica3::SerializeConstruction | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | destinationConnection | ||
| ) | [pure virtual] |
SerializeConstruction is used to write out data that you need to create this object in the context of your game, such as health, score, name. Use it for data you only need to send when the object is created.
After SerializeConstruction() is called, Serialize() will be called immediately thereafter. However, they are sent in different messages, so Serialize() may arrive a later frame than SerializeConstruction() For that reason, the object should be valid after a call to DeserializeConstruction() for at least a short time.
| [out] | constructionBitstream | Destination bitstream to write your data to |
| [in] | destinationConnection | System that will receive this network message. |
Implemented in RakNet::Replica3Composite< parent_type >.
| virtual void RakNet::Replica3::SerializeConstructionExisting | ( | RakNet::BitStream * | constructionBitstream, |
| RakNet::Connection_RM3 * | destinationConnection | ||
| ) | [inline, virtual] |
Same as SerializeConstruction(), but for an object that already exists on the remote system. Used if you return RM3CS_ALREADY_EXISTS_REMOTELY from QueryConstruction
Reimplemented in RakNet::Replica3Composite< parent_type >.
Definition at line 780 of file ReplicaManager3.h.
{(void) constructionBitstream; (void) destinationConnection;};
| virtual void RakNet::Replica3::SerializeDestruction | ( | RakNet::BitStream * | destructionBitstream, |
| RakNet::Connection_RM3 * | destinationConnection | ||
| ) | [pure virtual] |
Replica3::SerializeDestruction() will be called to write any object destruction specific data you want to send with this event. destructionBitstream can be read in DeserializeDestruction()
| [out] | destructionBitstream | Bitstream for you to write to |
| [in] | destinationConnection | System that will receive this network message. |
Implemented in RakNet::Replica3Composite< parent_type >.
| bool RakNet::Replica3::WasReferenced | ( | void | ) | const [inline] |
Definition at line 935 of file ReplicaManager3.h.
{return replicaManager!=0;}
| virtual void RakNet::Replica3::WriteAllocationID | ( | RakNet::Connection_RM3 * | destinationConnection, |
| RakNet::BitStream * | allocationIdBitstream | ||
| ) | const [pure virtual] |
The value written to allocationIdBitstream will be passed to Connection_RM3::AllocReplica().
Sample implementation:
{allocationIdBitstream->Write(RakNet::RakString("Soldier");}
| [out] | allocationIdBitstream | Bitstream for the user to write to, to identify this class |
Implemented in RakNet::Replica3Composite< parent_type >.
GUID of the system that first called Reference() on this object. Transmitted automatically when the object is constructed
Definition at line 939 of file ReplicaManager3.h.
Definition at line 941 of file ReplicaManager3.h.
Definition at line 949 of file ReplicaManager3.h.
Definition at line 947 of file ReplicaManager3.h.
Definition at line 945 of file ReplicaManager3.h.
Definition at line 948 of file ReplicaManager3.h.
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.