# ReplicaManager2.h File Reference

Contains the second iteration of the ReplicaManager class. This system automatically creates and destroys objects, downloads the world to new players, manages players, and automatically serializes as needed. More...

`#include "NativeFeatureIncludes.h"`
`#include "Export.h"`
`#include "RakNetTypes.h"`
`#include "DS_Map.h"`
`#include "PluginInterface2.h"`
`#include "NetworkIDObject.h"`
`#include "PacketPriority.h"`
`#include "GetTime.h"`
`#include "BitStream.h"`
`#include "DS_Queue.h"`

## Classes

class | RakNet::ReplicaManager2
| A management system for your game objects and players to make serialization, scoping, and object creation and destruction easier. More...
struct | RakNet::SerializationContext
| Contextual information about serialization, passed to some functions in Replica2. More...
class | RakNet::Replica2
| Base class for game objects that use the ReplicaManager2 system. More...
class | RakNet::Connection_RM2Factory
| Implement this factory class to return instances of your Connection_RM2 derived object. This is used as a class factory and exposes functionality related to the connection and the system. More...
class | RakNet::Connection_RM2
| This class represents a connection between two instances of ReplicaManager2. More...

## Namespaces

namespace | RakNet
| Forward declaration.

## Typedefs

typedef int | RakNet::SerializationType
| These are the types of events that can cause network data to be transmitted.

## Enumerations

enum

{
RakNet::SEND_SERIALIZATION_GENERIC_TO_SYSTEM, RakNet::BROADCAST_SERIALIZATION_GENERIC_TO_SYSTEM, RakNet::SEND_SERIALIZATION_CONSTRUCTION_TO_SYSTEM, RakNet::BROADCAST_SERIALIZATION_CONSTRUCTION_TO_SYSTEM,
RakNet::SEND_AUTO_SERIALIZE_TO_SYSTEM, RakNet::BROADCAST_AUTO_SERIALIZE_TO_SYSTEM, RakNet::RELAY_SERIALIZATION_TO_SYSTEMS, RakNet::SEND_CONSTRUCTION_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM ,
RakNet::SEND_DATA_SERIALIZATION_AUTO_INITIAL_DOWNLOAD_TO_SYSTEM, RakNet::SEND_DESTRUCTION_GENERIC_TO_SYSTEM, RakNet::SEND_DESTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM, RakNet::BROADCAST_DESTRUCTION_GENERIC_TO_SYSTEM,
RakNet::RELAY_DESTRUCTION_TO_SYSTEMS, RakNet::SEND_CONSTRUCTION_GENERIC_TO_SYSTEM, RakNet::SEND_CONSTRUCTION_VISIBILITY_RECALCULATION_TO_SYSTEM, RakNet::BROADCAST_CONSTRUCTION_GENERIC_TO_SYSTEM,
RakNet::SEND_CONSTRUCTION_REQUEST_TO_SERVER, RakNet::BROADCAST_CONSTRUCTION_REQUEST_ACCEPTED_TO_SYSTEM, RakNet::SEND_CONSTRUCTION_REPLY_ACCEPTED_TO_CLIENT, RakNet::SEND_CONSTRUCTION_REPLY_DENIED_TO_CLIENT,
RakNet::SEND_VISIBILITY_TRUE_TO_SYSTEM, RakNet::BROADCAST_VISIBILITY_TRUE_TO_SYSTEM, RakNet::SEND_VISIBILITY_FALSE_TO_SYSTEM, RakNet::BROADCAST_VISIBILITY_FALSE_TO_SYSTEM,
RakNet::RELAY_VISIBILITY_TRUE_TO_SYSTEMS, RakNet::RELAY_VISIBILITY_FALSE_TO_SYSTEMS, RakNet::AUTOSERIALIZE_RESYNCH_ONLY, RakNet::AUTOSERIALIZE_DEFAULT,
RakNet::UNDEFINED_REASON
}

## Variables

| BQR_ALWAYS
| The query is always true, for all systems. Certain optimizations are performed here, but you should not later return any other value without first calling ReplicaManager2::RecalculateVisibility.
| BQR_YES
| True.
| BQR_NO
| False.

## Detailed Description

Contains the second iteration of the ReplicaManager class. This system automatically creates and destroys objects, downloads the world to new players, manages players, and automatically serializes as needed.

This file is part of RakNet Copyright 2003 Jenkins Software LLC

Usage of RakNet is subject to the appropriate license agreement.