classRakNet_1_1ReplicaManager3.html 119 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <title>RakNet: RakNet::ReplicaManager3 Class Reference</title>
  7. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  8. <script type="text/javascript" src="jquery.js"></script>
  9. <script type="text/javascript" src="dynsections.js"></script>
  10. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  11. </head>
  12. <body>
  13. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  14. <div id="titlearea">
  15. <table cellspacing="0" cellpadding="0">
  16. <tbody>
  17. <tr style="height: 56px;">
  18. <td style="padding-left: 0.5em;">
  19. <div id="projectname">RakNet
  20. &#160;<span id="projectnumber">4.0</span>
  21. </div>
  22. </td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. </div>
  27. <!-- end header part -->
  28. <!-- Generated by Doxygen 1.8.2 -->
  29. <div id="navrow1" class="tabs">
  30. <ul class="tablist">
  31. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  32. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  33. <li><a href="modules.html"><span>Modules</span></a></li>
  34. <li><a href="namespaces.html"><span>Namespaces</span></a></li>
  35. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  36. <li><a href="files.html"><span>Files</span></a></li>
  37. </ul>
  38. </div>
  39. <div id="navrow2" class="tabs2">
  40. <ul class="tablist">
  41. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  42. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  43. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  44. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  45. </ul>
  46. </div>
  47. <div id="nav-path" class="navpath">
  48. <ul>
  49. <li class="navelem"><a class="el" href="namespaceRakNet.html">RakNet</a></li><li class="navelem"><a class="el" href="classRakNet_1_1ReplicaManager3.html">ReplicaManager3</a></li> </ul>
  50. </div>
  51. </div><!-- top -->
  52. <div class="header">
  53. <div class="summary">
  54. <a href="#pub-methods">Public Member Functions</a> &#124;
  55. <a href="#pro-methods">Protected Member Functions</a> &#124;
  56. <a href="classRakNet_1_1ReplicaManager3-members.html">List of all members</a> </div>
  57. <div class="headertitle">
  58. <div class="title">RakNet::ReplicaManager3 Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html">ReplicaManager3</a></div></div> </div>
  59. </div><!--header-->
  60. <div class="contents">
  61. <p>System to help automate game object construction, destruction, and serialization.
  62. <a href="classRakNet_1_1ReplicaManager3.html#details">More...</a></p>
  63. <p><code>#include &lt;ReplicaManager3.h&gt;</code></p>
  64. <div class="dynheader">
  65. Inheritance diagram for RakNet::ReplicaManager3:</div>
  66. <div class="dyncontent">
  67. <div class="center">
  68. <img src="classRakNet_1_1ReplicaManager3.png" usemap="#RakNet::ReplicaManager3_map" alt=""/>
  69. <map id="RakNet::ReplicaManager3_map" name="RakNet::ReplicaManager3_map">
  70. <area href="classRakNet_1_1PluginInterface2.html" alt="RakNet::PluginInterface2" shape="rect" coords="0,0,158,24"/>
  71. </map>
  72. </div></div>
  73. <table class="memberdecls">
  74. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  75. Public Member Functions</h2></td></tr>
  76. <tr class="memitem:ade7df800d3dfd31bdd44de76172eb912"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912">AllocConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID) const =0</td></tr>
  77. <tr class="memdesc:ade7df800d3dfd31bdd44de76172eb912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implement to return a game specific derivation of <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a>. <a href="#ade7df800d3dfd31bdd44de76172eb912"></a><br/></td></tr>
  78. <tr class="separator:ade7df800d3dfd31bdd44de76172eb912"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:a78b449c8e3caa9a343a7d273f768687c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a78b449c8e3caa9a343a7d273f768687c">DeallocConnection</a> (<a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *connection) const =0</td></tr>
  80. <tr class="memdesc:a78b449c8e3caa9a343a7d273f768687c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implement to destroy a class instanced returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> <a href="#a78b449c8e3caa9a343a7d273f768687c"></a><br/></td></tr>
  81. <tr class="separator:a78b449c8e3caa9a343a7d273f768687c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  82. <tr class="memitem:af7e33dfb956e311cde40a97c9f89dc8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e">SetAutoManageConnections</a> (bool autoCreate, bool autoDestroy)</td></tr>
  83. <tr class="memdesc:af7e33dfb956e311cde40a97c9f89dc8e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable automatically assigning connections to new instances of <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a>. <a href="#af7e33dfb956e311cde40a97c9f89dc8e"></a><br/></td></tr>
  84. <tr class="separator:af7e33dfb956e311cde40a97c9f89dc8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  85. <tr class="memitem:a71cf90c3a8441becc6080a6dbff8965a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a71cf90c3a8441becc6080a6dbff8965a">GetAutoCreateConnections</a> (void) const </td></tr>
  86. <tr class="separator:a71cf90c3a8441becc6080a6dbff8965a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  87. <tr class="memitem:a0684b19dc05fe5f8cf9ca588b47f8223"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a0684b19dc05fe5f8cf9ca588b47f8223">GetAutoDestroyConnections</a> (void) const </td></tr>
  88. <tr class="separator:a0684b19dc05fe5f8cf9ca588b47f8223"><td class="memSeparator" colspan="2">&#160;</td></tr>
  89. <tr class="memitem:aac9e84d2ea13026c6e05ec667897e692"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#aac9e84d2ea13026c6e05ec667897e692">AutoCreateConnectionList</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> &gt; &amp;participantListIn, <a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> * &gt; &amp;participantListOut, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  90. <tr class="memdesc:aac9e84d2ea13026c6e05ec667897e692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> for each connection in <em>participantList</em>. <a href="#aac9e84d2ea13026c6e05ec667897e692"></a><br/></td></tr>
  91. <tr class="separator:aac9e84d2ea13026c6e05ec667897e692"><td class="memSeparator" colspan="2">&#160;</td></tr>
  92. <tr class="memitem:a5497b1ce378391cd617cec81ce7d8b94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94">PushConnection</a> (<a class="el" href="classRakNet_1_1Connection__RM3.html">RakNet::Connection_RM3</a> *newConnection, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  93. <tr class="memdesc:a5497b1ce378391cd617cec81ce7d8b94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Track a new <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> instance. <a href="#a5497b1ce378391cd617cec81ce7d8b94"></a><br/></td></tr>
  94. <tr class="separator:a5497b1ce378391cd617cec81ce7d8b94"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:a8e0a4be1310f582f98462a1831467402"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1Connection__RM3.html">RakNet::Connection_RM3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a8e0a4be1310f582f98462a1831467402">PopConnection</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  96. <tr class="memdesc:a8e0a4be1310f582f98462a1831467402"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop tracking a connection. <a href="#a8e0a4be1310f582f98462a1831467402"></a><br/></td></tr>
  97. <tr class="separator:a8e0a4be1310f582f98462a1831467402"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:a9046d827471c0be651b54b7efb7b6f28"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a9046d827471c0be651b54b7efb7b6f28">Reference</a> (<a class="el" href="classRakNet_1_1Replica3.html">RakNet::Replica3</a> *replica3, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  99. <tr class="memdesc:a9046d827471c0be651b54b7efb7b6f28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a replicated object to the system. <a href="#a9046d827471c0be651b54b7efb7b6f28"></a><br/></td></tr>
  100. <tr class="separator:a9046d827471c0be651b54b7efb7b6f28"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:a4bd439b6f0479a20236cc29ac36a6ff2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a4bd439b6f0479a20236cc29ac36a6ff2">Dereference</a> (<a class="el" href="classRakNet_1_1Replica3.html">RakNet::Replica3</a> *replica3, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  102. <tr class="memdesc:a4bd439b6f0479a20236cc29ac36a6ff2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a replicated object from the system. <a href="#a4bd439b6f0479a20236cc29ac36a6ff2"></a><br/></td></tr>
  103. <tr class="separator:a4bd439b6f0479a20236cc29ac36a6ff2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a5426d3a746720ee8a8d9f1e1961f4a60"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a5426d3a746720ee8a8d9f1e1961f4a60">DereferenceList</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;replicaListIn, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  105. <tr class="memdesc:a5426d3a746720ee8a8d9f1e1961f4a60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes multiple replicated objects from the system. <a href="#a5426d3a746720ee8a8d9f1e1961f4a60"></a><br/></td></tr>
  106. <tr class="separator:a5426d3a746720ee8a8d9f1e1961f4a60"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:adeb8596077be0f06f808ca475942bda1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#adeb8596077be0f06f808ca475942bda1">GetReplicasCreatedByGuid</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid, <a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;replicaListOut, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  108. <tr class="memdesc:adeb8596077be0f06f808ca475942bda1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all objects originally created by a particular system. <a href="#adeb8596077be0f06f808ca475942bda1"></a><br/></td></tr>
  109. <tr class="separator:adeb8596077be0f06f808ca475942bda1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:af134995196f488ab2d6488c1e0dd0fa9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#af134995196f488ab2d6488c1e0dd0fa9">GetReplicasCreatedByMe</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;replicaListOut, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  111. <tr class="memdesc:af134995196f488ab2d6488c1e0dd0fa9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all objects originally created by your system. <a href="#af134995196f488ab2d6488c1e0dd0fa9"></a><br/></td></tr>
  112. <tr class="separator:af134995196f488ab2d6488c1e0dd0fa9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  113. <tr class="memitem:a30065a01eec701daed0a4310834286ba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a30065a01eec701daed0a4310834286ba">GetReferencedReplicaList</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;replicaListOut, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  114. <tr class="memdesc:a30065a01eec701daed0a4310834286ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the entire list of Replicas that we know about. <a href="#a30065a01eec701daed0a4310834286ba"></a><br/></td></tr>
  115. <tr class="separator:a30065a01eec701daed0a4310834286ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:af15943bf2667aadeff0a2e7a7f79629f"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#af15943bf2667aadeff0a2e7a7f79629f">GetReplicaCount</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  117. <tr class="memdesc:af15943bf2667aadeff0a2e7a7f79629f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of replicas known about. <a href="#af15943bf2667aadeff0a2e7a7f79629f"></a><br/></td></tr>
  118. <tr class="separator:af15943bf2667aadeff0a2e7a7f79629f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  119. <tr class="memitem:ae090d01f6e02425ebca4c1988f309de7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ae090d01f6e02425ebca4c1988f309de7">GetReplicaAtIndex</a> (unsigned index, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  120. <tr class="memdesc:ae090d01f6e02425ebca4c1988f309de7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a replica by index. <a href="#ae090d01f6e02425ebca4c1988f309de7"></a><br/></td></tr>
  121. <tr class="separator:ae090d01f6e02425ebca4c1988f309de7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  122. <tr class="memitem:ad5335d9001f0ae1b0278f671eb455956"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ad5335d9001f0ae1b0278f671eb455956">GetConnectionCount</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  123. <tr class="memdesc:ad5335d9001f0ae1b0278f671eb455956"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of connections. <a href="#ad5335d9001f0ae1b0278f671eb455956"></a><br/></td></tr>
  124. <tr class="separator:ad5335d9001f0ae1b0278f671eb455956"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:a3f239e372b43f60bb27163ab5011fe17"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a3f239e372b43f60bb27163ab5011fe17">GetConnectionAtIndex</a> (unsigned index, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  126. <tr class="memdesc:a3f239e372b43f60bb27163ab5011fe17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a connection pointer previously added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> <a href="#a3f239e372b43f60bb27163ab5011fe17"></a><br/></td></tr>
  127. <tr class="separator:a3f239e372b43f60bb27163ab5011fe17"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:ab2eb6fff3e5a71113442b75975801d70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ab2eb6fff3e5a71113442b75975801d70">GetConnectionBySystemAddress</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;sa, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  129. <tr class="memdesc:ab2eb6fff3e5a71113442b75975801d70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a connection pointer previously added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> <a href="#ab2eb6fff3e5a71113442b75975801d70"></a><br/></td></tr>
  130. <tr class="separator:ab2eb6fff3e5a71113442b75975801d70"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:af43d3d10f0369d38a481090a6609a48f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#af43d3d10f0369d38a481090a6609a48f">GetConnectionByGUID</a> (<a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> guid, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  132. <tr class="memdesc:af43d3d10f0369d38a481090a6609a48f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a connection pointer previously added with PushConnection.() <a href="#af43d3d10f0369d38a481090a6609a48f"></a><br/></td></tr>
  133. <tr class="separator:af43d3d10f0369d38a481090a6609a48f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a7e01d9098c06ad5c9eac71506fad6b13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a7e01d9098c06ad5c9eac71506fad6b13">SetDefaultOrderingChannel</a> (char def)</td></tr>
  135. <tr class="separator:a7e01d9098c06ad5c9eac71506fad6b13"><td class="memSeparator" colspan="2">&#160;</td></tr>
  136. <tr class="memitem:afcbcfde423edca9e386f59c2f054e753"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#afcbcfde423edca9e386f59c2f054e753">SetDefaultPacketPriority</a> (<a class="el" href="PacketPriority_8h.html#a659378374e516180f93640c79f59705c">PacketPriority</a> def)</td></tr>
  137. <tr class="separator:afcbcfde423edca9e386f59c2f054e753"><td class="memSeparator" colspan="2">&#160;</td></tr>
  138. <tr class="memitem:a3909030c3ad377e9b2ac1afc0e78889f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a3909030c3ad377e9b2ac1afc0e78889f">SetDefaultPacketReliability</a> (<a class="el" href="PacketPriority_8h.html#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a> def)</td></tr>
  139. <tr class="separator:a3909030c3ad377e9b2ac1afc0e78889f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:a06af43f52ae3148e763ad9223c308639"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a06af43f52ae3148e763ad9223c308639">SetAutoSerializeInterval</a> (RakNet::Time intervalMS)</td></tr>
  141. <tr class="separator:a06af43f52ae3148e763ad9223c308639"><td class="memSeparator" colspan="2">&#160;</td></tr>
  142. <tr class="memitem:a9b87ac17416a6f00452a13f8279523e3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a9b87ac17416a6f00452a13f8279523e3">GetConnectionsThatHaveReplicaConstructed</a> (<a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> *replica, <a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> * &gt; &amp;connectionsThatHaveConstructedThisReplica, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  143. <tr class="memdesc:a9b87ac17416a6f00452a13f8279523e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the connections that we think have an instance of the specified <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance. <a href="#a9b87ac17416a6f00452a13f8279523e3"></a><br/></td></tr>
  144. <tr class="separator:a9b87ac17416a6f00452a13f8279523e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  145. <tr class="memitem:adc5f625a0e279e68062527526b8db2db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#adc5f625a0e279e68062527526b8db2db">GetAllConnectionDownloadsCompleted</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  146. <tr class="memdesc:adc5f625a0e279e68062527526b8db2db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if GetDownloadWasCompleted() returns true for all connections. <a href="#adc5f625a0e279e68062527526b8db2db"></a><br/></td></tr>
  147. <tr class="separator:adc5f625a0e279e68062527526b8db2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
  148. <tr class="memitem:aa0c70560e7dd9bda8b50ff3909f78248"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248">AddWorld</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId)</td></tr>
  149. <tr class="memdesc:aa0c70560e7dd9bda8b50ff3909f78248"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> can support multiple worlds, where each world has a separate <a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a>, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a916816210240e1f1d38478cea311999e">ReplicaManager3::SetNetworkIDManager()</a> to have a different <a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> instance per world. <a href="#aa0c70560e7dd9bda8b50ff3909f78248"></a><br/></td></tr>
  150. <tr class="separator:aa0c70560e7dd9bda8b50ff3909f78248"><td class="memSeparator" colspan="2">&#160;</td></tr>
  151. <tr class="memitem:a18b55ef2c0606b05896e2b4a5103ab21"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a18b55ef2c0606b05896e2b4a5103ab21">RemoveWorld</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId)</td></tr>
  152. <tr class="memdesc:a18b55ef2c0606b05896e2b4a5103ab21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deallocate a world added with AddWorld, or the default world with id 0 Deallocating a world will also stop tracking and updating all connections and replicas associated with that world. <a href="#a18b55ef2c0606b05896e2b4a5103ab21"></a><br/></td></tr>
  153. <tr class="separator:a18b55ef2c0606b05896e2b4a5103ab21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  154. <tr class="memitem:ad1db1ccc77de2ca4fc324405ddac63a6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ad1db1ccc77de2ca4fc324405ddac63a6">GetWorldIdAtIndex</a> (unsigned int index)</td></tr>
  155. <tr class="memdesc:ad1db1ccc77de2ca4fc324405ddac63a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get one of the WorldId values added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> <a href="#ad1db1ccc77de2ca4fc324405ddac63a6"></a><br/></td></tr>
  156. <tr class="separator:ad1db1ccc77de2ca4fc324405ddac63a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
  157. <tr class="memitem:a891d12ab7939014c08dd9da67981fab1"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a891d12ab7939014c08dd9da67981fab1">GetWorldCount</a> (void) const </td></tr>
  158. <tr class="memdesc:a891d12ab7939014c08dd9da67981fab1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the number of world id specifiers in memory, added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> and removed with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a18b55ef2c0606b05896e2b4a5103ab21" title="Deallocate a world added with AddWorld, or the default world with id 0 Deallocating a world will also...">RemoveWorld()</a> <a href="#a891d12ab7939014c08dd9da67981fab1"></a><br/></td></tr>
  159. <tr class="separator:a891d12ab7939014c08dd9da67981fab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
  160. <tr class="memitem:a916816210240e1f1d38478cea311999e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a916816210240e1f1d38478cea311999e">SetNetworkIDManager</a> (<a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> *_networkIDManager, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  161. <tr class="separator:a916816210240e1f1d38478cea311999e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  162. <tr class="memitem:a55a26c19127b186be5653022ed45a514"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a55a26c19127b186be5653022ed45a514">GetNetworkIDManager</a> (<a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0) const </td></tr>
  163. <tr class="separator:a55a26c19127b186be5653022ed45a514"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. <tr class="memitem:a4df5f5e2e47b69b1abe22ba8b445e385"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a4df5f5e2e47b69b1abe22ba8b445e385">BroadcastDestructionList</a> (<a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;replicaListSource, const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;exclusionAddress, <a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> worldId=0)</td></tr>
  165. <tr class="separator:a4df5f5e2e47b69b1abe22ba8b445e385"><td class="memSeparator" colspan="2">&#160;</td></tr>
  166. <tr class="memitem:a8aa2fdb5b20aeeab74b037bc1632c9e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8aa2fdb5b20aeeab74b037bc1632c9e9"></a>
  167. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a8aa2fdb5b20aeeab74b037bc1632c9e9">Update</a> (void)</td></tr>
  168. <tr class="memdesc:a8aa2fdb5b20aeeab74b037bc1632c9e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Call interfaces, send data. <br/></td></tr>
  169. <tr class="separator:a8aa2fdb5b20aeeab74b037bc1632c9e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  170. <tr class="inherit_header pub_methods_classRakNet_1_1PluginInterface2"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classRakNet_1_1PluginInterface2')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classRakNet_1_1PluginInterface2.html">RakNet::PluginInterface2</a></td></tr>
  171. <tr class="memitem:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a550529f3753c4acf22c3b5c3e203552c"></a>
  172. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a550529f3753c4acf22c3b5c3e203552c">OnAttach</a> (void)</td></tr>
  173. <tr class="memdesc:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is attached. <br/></td></tr>
  174. <tr class="separator:a550529f3753c4acf22c3b5c3e203552c inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  175. <tr class="memitem:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14825e69f0560996327e4dd351842c06"></a>
  176. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a14825e69f0560996327e4dd351842c06">OnRakPeerStartup</a> (void)</td></tr>
  177. <tr class="memdesc:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is initialized. <br/></td></tr>
  178. <tr class="separator:a14825e69f0560996327e4dd351842c06 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  179. <tr class="memitem:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9504489498df14b6efa5ca9bd39aede4">OnFailedConnectionAttempt</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga3e92f686bace869b78c10508c58e0825">PI2_FailedConnectionAttemptReason</a> failedConnectionAttemptReason)</td></tr>
  180. <tr class="separator:a9504489498df14b6efa5ca9bd39aede4 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  181. <tr class="memitem:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#accfca7d25262c48a87a30114383284aa">UsesReliabilityLayer</a> (void) const </td></tr>
  182. <tr class="separator:accfca7d25262c48a87a30114383284aa inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a7a6f69c6fc3a121e3676298a63a9ef78">OnDirectSocketSend</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  184. <tr class="separator:a7a6f69c6fc3a121e3676298a63a9ef78 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  185. <tr class="memitem:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a9aac1101ad58e8443516588e96e066ec">OnDirectSocketReceive</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  186. <tr class="separator:a9aac1101ad58e8443516588e96e066ec inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  187. <tr class="memitem:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#abf51e60546bd74d21c91dc0d6f9f3a4b">OnReliabilityLayerNotification</a> (const char *errorMessage, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, bool isError)</td></tr>
  188. <tr class="separator:abf51e60546bd74d21c91dc0d6f9f3a4b inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a399b8c93daa0236599961e754742e2f7">OnInternalPacket</a> (<a class="el" href="structRakNet_1_1InternalPacket.html">InternalPacket</a> *internalPacket, unsigned frameNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time, int isSend)</td></tr>
  190. <tr class="separator:a399b8c93daa0236599961e754742e2f7 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  191. <tr class="memitem:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#ae0b0cad31cfc209c48197c77d6b46345">OnAck</a> (unsigned int messageNumber, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress, RakNet::TimeMS time)</td></tr>
  192. <tr class="separator:ae0b0cad31cfc209c48197c77d6b46345 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  193. <tr class="memitem:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1PluginInterface2.html#a5c976aea56ed85055a17c19d91b90727">OnPushBackPacket</a> (const char *data, const BitSize_t bitsUsed, <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> remoteSystemAddress)</td></tr>
  194. <tr class="separator:a5c976aea56ed85055a17c19d91b90727 inherit pub_methods_classRakNet_1_1PluginInterface2"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. </table><table class="memberdecls">
  196. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
  197. Protected Member Functions</h2></td></tr>
  198. <tr class="memitem:a0cdd79247e16ca120ed9d13c1fca60ed"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#a0cdd79247e16ca120ed9d13c1fca60ed">OnReceive</a> (<a class="el" href="structRakNet_1_1Packet.html">Packet</a> *packet)</td></tr>
  199. <tr class="separator:a0cdd79247e16ca120ed9d13c1fca60ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
  200. <tr class="memitem:abebbd0c277164e36dd342b1f83492427"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#abebbd0c277164e36dd342b1f83492427">OnClosedConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a> lostConnectionReason)</td></tr>
  201. <tr class="separator:abebbd0c277164e36dd342b1f83492427"><td class="memSeparator" colspan="2">&#160;</td></tr>
  202. <tr class="memitem:ac0c9ec75335ffe5f117a99ee24b55310"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ac0c9ec75335ffe5f117a99ee24b55310">OnNewConnection</a> (const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;systemAddress, <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> rakNetGUID, bool isIncoming)</td></tr>
  203. <tr class="separator:ac0c9ec75335ffe5f117a99ee24b55310"><td class="memSeparator" colspan="2">&#160;</td></tr>
  204. <tr class="memitem:ad812ceecfe3150b78236382d7a6a2784"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad812ceecfe3150b78236382d7a6a2784"></a>
  205. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#ad812ceecfe3150b78236382d7a6a2784">OnRakPeerShutdown</a> (void)</td></tr>
  206. <tr class="memdesc:ad812ceecfe3150b78236382d7a6a2784"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when <a class="el" href="classRakNet_1_1RakPeer.html" title="Main interface for network communications.">RakPeer</a> is shutdown. <br/></td></tr>
  207. <tr class="separator:ad812ceecfe3150b78236382d7a6a2784"><td class="memSeparator" colspan="2">&#160;</td></tr>
  208. <tr class="memitem:af2251f16c8f5146cdfe8b927543177ee"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2251f16c8f5146cdfe8b927543177ee"></a>
  209. virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRakNet_1_1ReplicaManager3.html#af2251f16c8f5146cdfe8b927543177ee">OnDetach</a> (void)</td></tr>
  210. <tr class="memdesc:af2251f16c8f5146cdfe8b927543177ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called when the interface is detached. <br/></td></tr>
  211. <tr class="separator:af2251f16c8f5146cdfe8b927543177ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
  212. </table>
  213. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  214. <div class="textblock"><p>System to help automate game object construction, destruction, and serialization. </p>
  215. <p><a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> tracks your game objects and automates the networking for replicating them across the network<br/>
  216. As objects are created, destroyed, or serialized differently, those changes are pushed out to other systems.<br/>
  217. To use:<br/>
  218. </p>
  219. <ol>
  220. <li>
  221. Derive from <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> and implement <a class="el" href="classRakNet_1_1Connection__RM3.html#ab05d85100f726378f2ed73c6792a5b46" title="Class factory to create a Replica3 instance, given a user-defined identifier.">Connection_RM3::AllocReplica()</a>. This is a factory function where given a user-supplied identifier for a class (such as name) return an instance of that class. Should be able to return any networked object in your game. </li>
  222. <li>
  223. Derive from <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> and implement <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a78b449c8e3caa9a343a7d273f768687c" title="Implement to destroy a class instanced returned by AllocConnection()">DeallocConnection()</a> to return the class you created in step 1. </li>
  224. <li>
  225. Derive your networked game objects from <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>. All pure virtuals have to be implemented, however defaults are provided for <a class="el" href="classRakNet_1_1Replica3.html#ad826e04ce6a0db4e32c3d990fd27e943" title="Ask if this object, which does not exist on destinationConnection should (now) be sent to that system...">Replica3::QueryConstruction()</a>, <a class="el" href="classRakNet_1_1Replica3.html#a79bd207fb79055d2b39943eb1c6b1f58" title="We&#39;re about to call DeserializeConstruction() on this Replica3. If QueryRemoteConstruction() returns ...">Replica3::QueryRemoteConstruction()</a>, and <a class="el" href="classRakNet_1_1Replica3.html#abc1b2daa5c1a908ddd2d6df44da7e9aa" title="Implement with QuerySerialization_ClientSerializable(), QuerySerialization_ServerSerializable(), or QuerySerialization_PeerToPeer()">Replica3::QuerySerialization()</a> depending on your network architecture. </li>
  226. <li>
  227. When a new game object is created on the local system, pass it to <a class="el" href="classRakNet_1_1ReplicaManager3.html#a9046d827471c0be651b54b7efb7b6f28" title="Adds a replicated object to the system.">ReplicaManager3::Reference()</a>. </li>
  228. <li>
  229. When a game object is destroyed on the local system, and you want other systems to know about it, call <a class="el" href="classRakNet_1_1Replica3.html#a7c6a22d575326cddec3a70eb1c2568f2">Replica3::BroadcastDestruction()</a> </li>
  230. </ol>
  231. <p><br/>
  232. At this point, all new connections will automatically download, get construction messages, get destruction messages, and update serialization automatically. </p>
  233. </div><h2 class="groupheader">Member Function Documentation</h2>
  234. <a class="anchor" id="aa0c70560e7dd9bda8b50ff3909f78248"></a>
  235. <div class="memitem">
  236. <div class="memproto">
  237. <table class="memname">
  238. <tr>
  239. <td class="memname">void RakNet::ReplicaManager3::AddWorld </td>
  240. <td>(</td>
  241. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  242. <td class="paramname"><em>worldId</em></td><td>)</td>
  243. <td></td>
  244. </tr>
  245. </table>
  246. </div><div class="memdoc">
  247. <p><a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> can support multiple worlds, where each world has a separate <a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a>, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a916816210240e1f1d38478cea311999e">ReplicaManager3::SetNetworkIDManager()</a> to have a different <a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> instance per world. </p>
  248. <dl class="params"><dt>Parameters</dt><dd>
  249. <table class="params">
  250. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>A unique identifier for this world. User-defined </td></tr>
  251. </table>
  252. </dd>
  253. </dl>
  254. </div>
  255. </div>
  256. <a class="anchor" id="ade7df800d3dfd31bdd44de76172eb912"></a>
  257. <div class="memitem">
  258. <div class="memproto">
  259. <table class="mlabels">
  260. <tr>
  261. <td class="mlabels-left">
  262. <table class="memname">
  263. <tr>
  264. <td class="memname">virtual <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a>* RakNet::ReplicaManager3::AllocConnection </td>
  265. <td>(</td>
  266. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  267. <td class="paramname"><em>systemAddress</em>, </td>
  268. </tr>
  269. <tr>
  270. <td class="paramkey"></td>
  271. <td></td>
  272. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  273. <td class="paramname"><em>rakNetGUID</em>&#160;</td>
  274. </tr>
  275. <tr>
  276. <td></td>
  277. <td>)</td>
  278. <td></td><td> const</td>
  279. </tr>
  280. </table>
  281. </td>
  282. <td class="mlabels-right">
  283. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  284. </tr>
  285. </table>
  286. </div><div class="memdoc">
  287. <p>Implement to return a game specific derivation of <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a>. </p>
  288. <p>The connection object represents a remote system connected to you that is using the <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> system.<br/>
  289. It has functions to perform operations per-connection.<br/>
  290. <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a78b449c8e3caa9a343a7d273f768687c" title="Implement to destroy a class instanced returned by AllocConnection()">DeallocConnection()</a> are factory functions to create and destroy instances of the connection object.<br/>
  291. It is used if autoCreate is true via <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> (true by default). Otherwise, the function is not called, and you will have to call <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> manually<br/>
  292. </p>
  293. <dl class="section note"><dt>Note</dt><dd>If you do not want a new network connection to immediately download game objects, <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> are how you do this. </dd></dl>
  294. <dl class="section see"><dt>See Also</dt><dd><a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> </dd></dl>
  295. <dl class="params"><dt>Parameters</dt><dd>
  296. <table class="params">
  297. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>Address of the system you are adding </td></tr>
  298. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGUID</td><td>GUID of the system you are adding. See Packet::rakNetGUID or RakPeerInterface::GetGUIDFromSystemAddress() </td></tr>
  299. </table>
  300. </dd>
  301. </dl>
  302. <dl class="section return"><dt>Returns</dt><dd>The new connection instance. </dd></dl>
  303. </div>
  304. </div>
  305. <a class="anchor" id="aac9e84d2ea13026c6e05ec667897e692"></a>
  306. <div class="memitem">
  307. <div class="memproto">
  308. <table class="memname">
  309. <tr>
  310. <td class="memname">void RakNet::ReplicaManager3::AutoCreateConnectionList </td>
  311. <td>(</td>
  312. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a> &gt; &amp;&#160;</td>
  313. <td class="paramname"><em>participantListIn</em>, </td>
  314. </tr>
  315. <tr>
  316. <td class="paramkey"></td>
  317. <td></td>
  318. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> * &gt; &amp;&#160;</td>
  319. <td class="paramname"><em>participantListOut</em>, </td>
  320. </tr>
  321. <tr>
  322. <td class="paramkey"></td>
  323. <td></td>
  324. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  325. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  326. </tr>
  327. <tr>
  328. <td></td>
  329. <td>)</td>
  330. <td></td><td></td>
  331. </tr>
  332. </table>
  333. </div><div class="memdoc">
  334. <p>Call <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> for each connection in <em>participantList</em>. </p>
  335. <dl class="params"><dt>Parameters</dt><dd>
  336. <table class="params">
  337. <tr><td class="paramdir">[in]</td><td class="paramname">participantListIn</td><td>The list of connections to allocate </td></tr>
  338. <tr><td class="paramdir">[in]</td><td class="paramname">participantListOut</td><td>The connections allocated, if any </td></tr>
  339. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  340. </table>
  341. </dd>
  342. </dl>
  343. </div>
  344. </div>
  345. <a class="anchor" id="a4df5f5e2e47b69b1abe22ba8b445e385"></a>
  346. <div class="memitem">
  347. <div class="memproto">
  348. <table class="memname">
  349. <tr>
  350. <td class="memname">void RakNet::ReplicaManager3::BroadcastDestructionList </td>
  351. <td>(</td>
  352. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;&#160;</td>
  353. <td class="paramname"><em>replicaListSource</em>, </td>
  354. </tr>
  355. <tr>
  356. <td class="paramkey"></td>
  357. <td></td>
  358. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  359. <td class="paramname"><em>exclusionAddress</em>, </td>
  360. </tr>
  361. <tr>
  362. <td class="paramkey"></td>
  363. <td></td>
  364. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  365. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  366. </tr>
  367. <tr>
  368. <td></td>
  369. <td>)</td>
  370. <td></td><td></td>
  371. </tr>
  372. </table>
  373. </div><div class="memdoc">
  374. <p>Send a network command to destroy one or more <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instances Usually you won't need this, but use <a class="el" href="classRakNet_1_1Replica3.html#a7c6a22d575326cddec3a70eb1c2568f2">Replica3::BroadcastDestruction()</a> instead. The objects are unaffected locally </p>
  375. <dl class="params"><dt>Parameters</dt><dd>
  376. <table class="params">
  377. <tr><td class="paramdir">[in]</td><td class="paramname">replicaList</td><td>List of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> objects to tell other systems to destroy. </td></tr>
  378. <tr><td class="paramdir">[in]</td><td class="paramname">exclusionAddress</td><td>Which system to not send to. UNASSIGNED_SYSTEM_ADDRESS to send to all. </td></tr>
  379. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  380. </table>
  381. </dd>
  382. </dl>
  383. </div>
  384. </div>
  385. <a class="anchor" id="a78b449c8e3caa9a343a7d273f768687c"></a>
  386. <div class="memitem">
  387. <div class="memproto">
  388. <table class="mlabels">
  389. <tr>
  390. <td class="mlabels-left">
  391. <table class="memname">
  392. <tr>
  393. <td class="memname">virtual void RakNet::ReplicaManager3::DeallocConnection </td>
  394. <td>(</td>
  395. <td class="paramtype"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> *&#160;</td>
  396. <td class="paramname"><em>connection</em></td><td>)</td>
  397. <td> const</td>
  398. </tr>
  399. </table>
  400. </td>
  401. <td class="mlabels-right">
  402. <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
  403. </tr>
  404. </table>
  405. </div><div class="memdoc">
  406. <p>Implement to destroy a class instanced returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">AllocConnection()</a> </p>
  407. <p>Most likely just implement as {delete connection;}<br/>
  408. It is used if autoDestroy is true via <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> (true by default). Otherwise, the function is not called and you would then be responsible for deleting your own connection objects. </p>
  409. <dl class="params"><dt>Parameters</dt><dd>
  410. <table class="params">
  411. <tr><td class="paramdir">[in]</td><td class="paramname">connection</td><td>The pointer instance to delete </td></tr>
  412. </table>
  413. </dd>
  414. </dl>
  415. </div>
  416. </div>
  417. <a class="anchor" id="a4bd439b6f0479a20236cc29ac36a6ff2"></a>
  418. <div class="memitem">
  419. <div class="memproto">
  420. <table class="memname">
  421. <tr>
  422. <td class="memname">void RakNet::ReplicaManager3::Dereference </td>
  423. <td>(</td>
  424. <td class="paramtype"><a class="el" href="classRakNet_1_1Replica3.html">RakNet::Replica3</a> *&#160;</td>
  425. <td class="paramname"><em>replica3</em>, </td>
  426. </tr>
  427. <tr>
  428. <td class="paramkey"></td>
  429. <td></td>
  430. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  431. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  432. </tr>
  433. <tr>
  434. <td></td>
  435. <td>)</td>
  436. <td></td><td></td>
  437. </tr>
  438. </table>
  439. </div><div class="memdoc">
  440. <p>Removes a replicated object from the system. </p>
  441. <p>The object is not deallocated, it is up to the caller to do so.<br/>
  442. This is called automatically from the destructor of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>, so you don't need to call it manually unless you want to stop tracking an object before it is destroyed. </p>
  443. <dl class="params"><dt>Parameters</dt><dd>
  444. <table class="params">
  445. <tr><td class="paramdir">[in]</td><td class="paramname">replica3</td><td>The object to stop tracking </td></tr>
  446. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  447. </table>
  448. </dd>
  449. </dl>
  450. </div>
  451. </div>
  452. <a class="anchor" id="a5426d3a746720ee8a8d9f1e1961f4a60"></a>
  453. <div class="memitem">
  454. <div class="memproto">
  455. <table class="memname">
  456. <tr>
  457. <td class="memname">void RakNet::ReplicaManager3::DereferenceList </td>
  458. <td>(</td>
  459. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;&#160;</td>
  460. <td class="paramname"><em>replicaListIn</em>, </td>
  461. </tr>
  462. <tr>
  463. <td class="paramkey"></td>
  464. <td></td>
  465. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  466. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  467. </tr>
  468. <tr>
  469. <td></td>
  470. <td>)</td>
  471. <td></td><td></td>
  472. </tr>
  473. </table>
  474. </div><div class="memdoc">
  475. <p>Removes multiple replicated objects from the system. </p>
  476. <p>Same as <a class="el" href="classRakNet_1_1ReplicaManager3.html#a4bd439b6f0479a20236cc29ac36a6ff2" title="Removes a replicated object from the system.">Dereference()</a>, but for a list of objects.<br/>
  477. Useful with the lists returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#adeb8596077be0f06f808ca475942bda1" title="Returns all objects originally created by a particular system.">GetReplicasCreatedByGuid()</a>, <a class="el" href="classRakNet_1_1ReplicaManager3.html#af134995196f488ab2d6488c1e0dd0fa9" title="Returns all objects originally created by your system.">GetReplicasCreatedByMe()</a>, or <a class="el" href="classRakNet_1_1ReplicaManager3.html#a30065a01eec701daed0a4310834286ba" title="Returns the entire list of Replicas that we know about.">GetReferencedReplicaList()</a>.<br/>
  478. </p>
  479. <dl class="params"><dt>Parameters</dt><dd>
  480. <table class="params">
  481. <tr><td class="paramdir">[in]</td><td class="paramname">replicaListIn</td><td>List of objects </td></tr>
  482. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  483. </table>
  484. </dd>
  485. </dl>
  486. </div>
  487. </div>
  488. <a class="anchor" id="adc5f625a0e279e68062527526b8db2db"></a>
  489. <div class="memitem">
  490. <div class="memproto">
  491. <table class="memname">
  492. <tr>
  493. <td class="memname">bool RakNet::ReplicaManager3::GetAllConnectionDownloadsCompleted </td>
  494. <td>(</td>
  495. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  496. <td class="paramname"><em>worldId</em> = <code>0</code></td><td>)</td>
  497. <td> const</td>
  498. </tr>
  499. </table>
  500. </div><div class="memdoc">
  501. <p>Returns if GetDownloadWasCompleted() returns true for all connections. </p>
  502. <dl class="params"><dt>Parameters</dt><dd>
  503. <table class="params">
  504. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  505. </table>
  506. </dd>
  507. </dl>
  508. <dl class="section return"><dt>Returns</dt><dd>True when all downloads have been completed </dd></dl>
  509. </div>
  510. </div>
  511. <a class="anchor" id="a71cf90c3a8441becc6080a6dbff8965a"></a>
  512. <div class="memitem">
  513. <div class="memproto">
  514. <table class="memname">
  515. <tr>
  516. <td class="memname">bool RakNet::ReplicaManager3::GetAutoCreateConnections </td>
  517. <td>(</td>
  518. <td class="paramtype">void&#160;</td>
  519. <td class="paramname"></td><td>)</td>
  520. <td> const</td>
  521. </tr>
  522. </table>
  523. </div><div class="memdoc">
  524. <dl class="section return"><dt>Returns</dt><dd>What was passed to the autoCreate parameter of <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> </dd></dl>
  525. </div>
  526. </div>
  527. <a class="anchor" id="a0684b19dc05fe5f8cf9ca588b47f8223"></a>
  528. <div class="memitem">
  529. <div class="memproto">
  530. <table class="memname">
  531. <tr>
  532. <td class="memname">bool RakNet::ReplicaManager3::GetAutoDestroyConnections </td>
  533. <td>(</td>
  534. <td class="paramtype">void&#160;</td>
  535. <td class="paramname"></td><td>)</td>
  536. <td> const</td>
  537. </tr>
  538. </table>
  539. </div><div class="memdoc">
  540. <dl class="section return"><dt>Returns</dt><dd>What was passed to the autoDestroy parameter of <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> </dd></dl>
  541. </div>
  542. </div>
  543. <a class="anchor" id="a3f239e372b43f60bb27163ab5011fe17"></a>
  544. <div class="memitem">
  545. <div class="memproto">
  546. <table class="memname">
  547. <tr>
  548. <td class="memname"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a>* RakNet::ReplicaManager3::GetConnectionAtIndex </td>
  549. <td>(</td>
  550. <td class="paramtype">unsigned&#160;</td>
  551. <td class="paramname"><em>index</em>, </td>
  552. </tr>
  553. <tr>
  554. <td class="paramkey"></td>
  555. <td></td>
  556. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  557. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  558. </tr>
  559. <tr>
  560. <td></td>
  561. <td>)</td>
  562. <td></td><td> const</td>
  563. </tr>
  564. </table>
  565. </div><div class="memdoc">
  566. <p>Returns a connection pointer previously added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> </p>
  567. <dl class="params"><dt>Parameters</dt><dd>
  568. <table class="params">
  569. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index, from 0 to <a class="el" href="classRakNet_1_1ReplicaManager3.html#ad5335d9001f0ae1b0278f671eb455956" title="Returns the number of connections.">GetConnectionCount()</a>-1. </td></tr>
  570. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  571. </table>
  572. </dd>
  573. </dl>
  574. <dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> pointer </dd></dl>
  575. </div>
  576. </div>
  577. <a class="anchor" id="af43d3d10f0369d38a481090a6609a48f"></a>
  578. <div class="memitem">
  579. <div class="memproto">
  580. <table class="memname">
  581. <tr>
  582. <td class="memname"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a>* RakNet::ReplicaManager3::GetConnectionByGUID </td>
  583. <td>(</td>
  584. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  585. <td class="paramname"><em>guid</em>, </td>
  586. </tr>
  587. <tr>
  588. <td class="paramkey"></td>
  589. <td></td>
  590. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  591. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  592. </tr>
  593. <tr>
  594. <td></td>
  595. <td>)</td>
  596. <td></td><td> const</td>
  597. </tr>
  598. </table>
  599. </div><div class="memdoc">
  600. <p>Returns a connection pointer previously added with PushConnection.() </p>
  601. <dl class="params"><dt>Parameters</dt><dd>
  602. <table class="params">
  603. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>The guid of the connection to return </td></tr>
  604. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  605. </table>
  606. </dd>
  607. </dl>
  608. <dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> pointer, or 0 if not found </dd></dl>
  609. </div>
  610. </div>
  611. <a class="anchor" id="ab2eb6fff3e5a71113442b75975801d70"></a>
  612. <div class="memitem">
  613. <div class="memproto">
  614. <table class="memname">
  615. <tr>
  616. <td class="memname"><a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a>* RakNet::ReplicaManager3::GetConnectionBySystemAddress </td>
  617. <td>(</td>
  618. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  619. <td class="paramname"><em>sa</em>, </td>
  620. </tr>
  621. <tr>
  622. <td class="paramkey"></td>
  623. <td></td>
  624. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  625. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  626. </tr>
  627. <tr>
  628. <td></td>
  629. <td>)</td>
  630. <td></td><td> const</td>
  631. </tr>
  632. </table>
  633. </div><div class="memdoc">
  634. <p>Returns a connection pointer previously added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">PushConnection()</a> </p>
  635. <dl class="params"><dt>Parameters</dt><dd>
  636. <table class="params">
  637. <tr><td class="paramdir">[in]</td><td class="paramname">sa</td><td>The system address of the connection to return </td></tr>
  638. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  639. </table>
  640. </dd>
  641. </dl>
  642. <dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> pointer, or 0 if not found </dd></dl>
  643. </div>
  644. </div>
  645. <a class="anchor" id="ad5335d9001f0ae1b0278f671eb455956"></a>
  646. <div class="memitem">
  647. <div class="memproto">
  648. <table class="memname">
  649. <tr>
  650. <td class="memname">unsigned int RakNet::ReplicaManager3::GetConnectionCount </td>
  651. <td>(</td>
  652. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  653. <td class="paramname"><em>worldId</em> = <code>0</code></td><td>)</td>
  654. <td> const</td>
  655. </tr>
  656. </table>
  657. </div><div class="memdoc">
  658. <p>Returns the number of connections. </p>
  659. <p>Returns the number of connections added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a5497b1ce378391cd617cec81ce7d8b94" title="Track a new Connection_RM3 instance.">ReplicaManager3::PushConnection()</a>, minus the number removed with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a8e0a4be1310f582f98462a1831467402" title="Stop tracking a connection.">ReplicaManager3::PopConnection()</a> </p>
  660. <dl class="params"><dt>Parameters</dt><dd>
  661. <table class="params">
  662. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  663. </table>
  664. </dd>
  665. </dl>
  666. <dl class="section return"><dt>Returns</dt><dd>The number of registered connections </dd></dl>
  667. </div>
  668. </div>
  669. <a class="anchor" id="a9b87ac17416a6f00452a13f8279523e3"></a>
  670. <div class="memitem">
  671. <div class="memproto">
  672. <table class="memname">
  673. <tr>
  674. <td class="memname">void RakNet::ReplicaManager3::GetConnectionsThatHaveReplicaConstructed </td>
  675. <td>(</td>
  676. <td class="paramtype"><a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> *&#160;</td>
  677. <td class="paramname"><em>replica</em>, </td>
  678. </tr>
  679. <tr>
  680. <td class="paramkey"></td>
  681. <td></td>
  682. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Connection__RM3.html">Connection_RM3</a> * &gt; &amp;&#160;</td>
  683. <td class="paramname"><em>connectionsThatHaveConstructedThisReplica</em>, </td>
  684. </tr>
  685. <tr>
  686. <td class="paramkey"></td>
  687. <td></td>
  688. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  689. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  690. </tr>
  691. <tr>
  692. <td></td>
  693. <td>)</td>
  694. <td></td><td></td>
  695. </tr>
  696. </table>
  697. </div><div class="memdoc">
  698. <p>Return the connections that we think have an instance of the specified <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance. </p>
  699. <p>This can be wrong, for example if that system locally deleted the outside the scope of <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a>, if QueryRemoteConstruction() returned false, or if DeserializeConstruction() returned false. </p>
  700. <dl class="params"><dt>Parameters</dt><dd>
  701. <table class="params">
  702. <tr><td class="paramdir">[in]</td><td class="paramname">replica</td><td>The replica to check against. </td></tr>
  703. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  704. <tr><td class="paramdir">[out]</td><td class="paramname">connectionsThatHaveConstructedThisReplica</td><td>Populated with connection instances that we believe have <em>replica</em> allocated </td></tr>
  705. </table>
  706. </dd>
  707. </dl>
  708. </div>
  709. </div>
  710. <a class="anchor" id="a55a26c19127b186be5653022ed45a514"></a>
  711. <div class="memitem">
  712. <div class="memproto">
  713. <table class="memname">
  714. <tr>
  715. <td class="memname"><a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a>* RakNet::ReplicaManager3::GetNetworkIDManager </td>
  716. <td>(</td>
  717. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  718. <td class="paramname"><em>worldId</em> = <code>0</code></td><td>)</td>
  719. <td> const</td>
  720. </tr>
  721. </table>
  722. </div><div class="memdoc">
  723. <p>Returns what was passed to <a class="el" href="classRakNet_1_1ReplicaManager3.html#a916816210240e1f1d38478cea311999e">SetNetworkIDManager()</a>, or the instance on <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> if unset. </p>
  724. <dl class="params"><dt>Parameters</dt><dd>
  725. <table class="params">
  726. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  727. </table>
  728. </dd>
  729. </dl>
  730. </div>
  731. </div>
  732. <a class="anchor" id="a30065a01eec701daed0a4310834286ba"></a>
  733. <div class="memitem">
  734. <div class="memproto">
  735. <table class="memname">
  736. <tr>
  737. <td class="memname">void RakNet::ReplicaManager3::GetReferencedReplicaList </td>
  738. <td>(</td>
  739. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;&#160;</td>
  740. <td class="paramname"><em>replicaListOut</em>, </td>
  741. </tr>
  742. <tr>
  743. <td class="paramkey"></td>
  744. <td></td>
  745. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  746. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  747. </tr>
  748. <tr>
  749. <td></td>
  750. <td>)</td>
  751. <td></td><td></td>
  752. </tr>
  753. </table>
  754. </div><div class="memdoc">
  755. <p>Returns the entire list of Replicas that we know about. </p>
  756. <p>This is all <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instances passed to Reference, as well as instances we downloaded and created via Connection_RM3::AllocReference() </p>
  757. <dl class="params"><dt>Parameters</dt><dd>
  758. <table class="params">
  759. <tr><td class="paramdir">[out]</td><td class="paramname">List</td><td>of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instances to be returned </td></tr>
  760. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  761. </table>
  762. </dd>
  763. </dl>
  764. </div>
  765. </div>
  766. <a class="anchor" id="ae090d01f6e02425ebca4c1988f309de7"></a>
  767. <div class="memitem">
  768. <div class="memproto">
  769. <table class="memname">
  770. <tr>
  771. <td class="memname"><a class="el" href="classRakNet_1_1Replica3.html">Replica3</a>* RakNet::ReplicaManager3::GetReplicaAtIndex </td>
  772. <td>(</td>
  773. <td class="paramtype">unsigned&#160;</td>
  774. <td class="paramname"><em>index</em>, </td>
  775. </tr>
  776. <tr>
  777. <td class="paramkey"></td>
  778. <td></td>
  779. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  780. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  781. </tr>
  782. <tr>
  783. <td></td>
  784. <td>)</td>
  785. <td></td><td></td>
  786. </tr>
  787. </table>
  788. </div><div class="memdoc">
  789. <p>Returns a replica by index. </p>
  790. <p>Returns one of the items in the list that would be returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#a30065a01eec701daed0a4310834286ba" title="Returns the entire list of Replicas that we know about.">GetReferencedReplicaList()</a> </p>
  791. <dl class="params"><dt>Parameters</dt><dd>
  792. <table class="params">
  793. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>An index, from 0 to <a class="el" href="classRakNet_1_1ReplicaManager3.html#af15943bf2667aadeff0a2e7a7f79629f" title="Returns the number of replicas known about.">GetReplicaCount()</a>-1. </td></tr>
  794. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  795. </table>
  796. </dd>
  797. </dl>
  798. <dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instance </dd></dl>
  799. </div>
  800. </div>
  801. <a class="anchor" id="af15943bf2667aadeff0a2e7a7f79629f"></a>
  802. <div class="memitem">
  803. <div class="memproto">
  804. <table class="memname">
  805. <tr>
  806. <td class="memname">unsigned RakNet::ReplicaManager3::GetReplicaCount </td>
  807. <td>(</td>
  808. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  809. <td class="paramname"><em>worldId</em> = <code>0</code></td><td>)</td>
  810. <td> const</td>
  811. </tr>
  812. </table>
  813. </div><div class="memdoc">
  814. <p>Returns the number of replicas known about. </p>
  815. <p>Returns the size of the list that would be returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#a30065a01eec701daed0a4310834286ba" title="Returns the entire list of Replicas that we know about.">GetReferencedReplicaList()</a> </p>
  816. <dl class="params"><dt>Parameters</dt><dd>
  817. <table class="params">
  818. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  819. </table>
  820. </dd>
  821. </dl>
  822. <dl class="section return"><dt>Returns</dt><dd>How many replica objects are in the list of replica objects </dd></dl>
  823. </div>
  824. </div>
  825. <a class="anchor" id="adeb8596077be0f06f808ca475942bda1"></a>
  826. <div class="memitem">
  827. <div class="memproto">
  828. <table class="memname">
  829. <tr>
  830. <td class="memname">void RakNet::ReplicaManager3::GetReplicasCreatedByGuid </td>
  831. <td>(</td>
  832. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  833. <td class="paramname"><em>guid</em>, </td>
  834. </tr>
  835. <tr>
  836. <td class="paramkey"></td>
  837. <td></td>
  838. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;&#160;</td>
  839. <td class="paramname"><em>replicaListOut</em>, </td>
  840. </tr>
  841. <tr>
  842. <td class="paramkey"></td>
  843. <td></td>
  844. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  845. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  846. </tr>
  847. <tr>
  848. <td></td>
  849. <td>)</td>
  850. <td></td><td></td>
  851. </tr>
  852. </table>
  853. </div><div class="memdoc">
  854. <p>Returns all objects originally created by a particular system. </p>
  855. <p>Originally created is defined as the value of <a class="el" href="classRakNet_1_1Replica3.html#a02e865cdf4292bd4dd8c9795ebb3bb05">Replica3::creatingSystemGUID</a>, which is automatically assigned in <a class="el" href="classRakNet_1_1ReplicaManager3.html#a9046d827471c0be651b54b7efb7b6f28" title="Adds a replicated object to the system.">ReplicaManager3::Reference()</a>.<br/>
  856. You do not have to be directly connected to that system to get the objects originally created by that system.<br/>
  857. </p>
  858. <dl class="params"><dt>Parameters</dt><dd>
  859. <table class="params">
  860. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>GUID of the system we are referring to. Originally passed as the <em>guid</em> parameter to <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">ReplicaManager3::AllocConnection()</a> </td></tr>
  861. <tr><td class="paramdir">[out]</td><td class="paramname">List</td><td>of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instances to be returned </td></tr>
  862. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  863. </table>
  864. </dd>
  865. </dl>
  866. </div>
  867. </div>
  868. <a class="anchor" id="af134995196f488ab2d6488c1e0dd0fa9"></a>
  869. <div class="memitem">
  870. <div class="memproto">
  871. <table class="memname">
  872. <tr>
  873. <td class="memname">void RakNet::ReplicaManager3::GetReplicasCreatedByMe </td>
  874. <td>(</td>
  875. <td class="paramtype"><a class="el" href="classDataStructures_1_1List.html">DataStructures::List</a>&lt; <a class="el" href="classRakNet_1_1Replica3.html">Replica3</a> * &gt; &amp;&#160;</td>
  876. <td class="paramname"><em>replicaListOut</em>, </td>
  877. </tr>
  878. <tr>
  879. <td class="paramkey"></td>
  880. <td></td>
  881. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  882. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  883. </tr>
  884. <tr>
  885. <td></td>
  886. <td>)</td>
  887. <td></td><td></td>
  888. </tr>
  889. </table>
  890. </div><div class="memdoc">
  891. <p>Returns all objects originally created by your system. </p>
  892. <p>Calls <a class="el" href="classRakNet_1_1ReplicaManager3.html#adeb8596077be0f06f808ca475942bda1" title="Returns all objects originally created by a particular system.">GetReplicasCreatedByGuid()</a> for your own system guid. </p>
  893. <dl class="params"><dt>Parameters</dt><dd>
  894. <table class="params">
  895. <tr><td class="paramdir">[out]</td><td class="paramname">List</td><td>of <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a> instances to be returned </td></tr>
  896. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  897. </table>
  898. </dd>
  899. </dl>
  900. </div>
  901. </div>
  902. <a class="anchor" id="a891d12ab7939014c08dd9da67981fab1"></a>
  903. <div class="memitem">
  904. <div class="memproto">
  905. <table class="memname">
  906. <tr>
  907. <td class="memname">unsigned int RakNet::ReplicaManager3::GetWorldCount </td>
  908. <td>(</td>
  909. <td class="paramtype">void&#160;</td>
  910. <td class="paramname"></td><td>)</td>
  911. <td> const</td>
  912. </tr>
  913. </table>
  914. </div><div class="memdoc">
  915. <p>Returns the number of world id specifiers in memory, added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> and removed with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a18b55ef2c0606b05896e2b4a5103ab21" title="Deallocate a world added with AddWorld, or the default world with id 0 Deallocating a world will also...">RemoveWorld()</a> </p>
  916. <dl class="section return"><dt>Returns</dt><dd>The number of worlds added </dd></dl>
  917. </div>
  918. </div>
  919. <a class="anchor" id="ad1db1ccc77de2ca4fc324405ddac63a6"></a>
  920. <div class="memitem">
  921. <div class="memproto">
  922. <table class="memname">
  923. <tr>
  924. <td class="memname"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a> RakNet::ReplicaManager3::GetWorldIdAtIndex </td>
  925. <td>(</td>
  926. <td class="paramtype">unsigned int&#160;</td>
  927. <td class="paramname"><em>index</em></td><td>)</td>
  928. <td></td>
  929. </tr>
  930. </table>
  931. </div><div class="memdoc">
  932. <p>Get one of the WorldId values added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </p>
  933. <p>WorldId 0 is created by default. Worlds will not necessarily be in the order added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a>. Edit <a class="el" href="classRakNet_1_1ReplicaManager3.html#a18b55ef2c0606b05896e2b4a5103ab21" title="Deallocate a world added with AddWorld, or the default world with id 0 Deallocating a world will also...">RemoveWorld()</a> changing RemoveAtIndexFast() to RemoveAtIndex() to preserve order. </p>
  934. <dl class="params"><dt>Parameters</dt><dd>
  935. <table class="params">
  936. <tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>A value between 0 and <a class="el" href="classRakNet_1_1ReplicaManager3.html#a891d12ab7939014c08dd9da67981fab1" title="Returns the number of world id specifiers in memory, added with AddWorld() and removed with RemoveWor...">GetWorldCount()</a>-1 </td></tr>
  937. </table>
  938. </dd>
  939. </dl>
  940. <dl class="section return"><dt>Returns</dt><dd>One of the WorldId values added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </dd></dl>
  941. </div>
  942. </div>
  943. <a class="anchor" id="abebbd0c277164e36dd342b1f83492427"></a>
  944. <div class="memitem">
  945. <div class="memproto">
  946. <table class="mlabels">
  947. <tr>
  948. <td class="mlabels-left">
  949. <table class="memname">
  950. <tr>
  951. <td class="memname">virtual void RakNet::ReplicaManager3::OnClosedConnection </td>
  952. <td>(</td>
  953. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  954. <td class="paramname"><em>systemAddress</em>, </td>
  955. </tr>
  956. <tr>
  957. <td class="paramkey"></td>
  958. <td></td>
  959. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  960. <td class="paramname"><em>rakNetGUID</em>, </td>
  961. </tr>
  962. <tr>
  963. <td class="paramkey"></td>
  964. <td></td>
  965. <td class="paramtype"><a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga376cc546fd6892c2ead48cd51796c8b8">PI2_LostConnectionReason</a>&#160;</td>
  966. <td class="paramname"><em>lostConnectionReason</em>&#160;</td>
  967. </tr>
  968. <tr>
  969. <td></td>
  970. <td>)</td>
  971. <td></td><td></td>
  972. </tr>
  973. </table>
  974. </td>
  975. <td class="mlabels-right">
  976. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  977. </tr>
  978. </table>
  979. </div><div class="memdoc">
  980. <p>Called when a connection is dropped because the user called <a class="el" href="classRakNet_1_1RakPeer.html#a95e3806fce8552e322236abcf105cbf9" title="Close the connection to another host (if we initiated the connection it will disconnect, if they did it will kick them out).">RakPeer::CloseConnection()</a> for a particular system </p>
  981. <dl class="params"><dt>Parameters</dt><dd>
  982. <table class="params">
  983. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>The system whose connection was closed </td></tr>
  984. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  985. <tr><td class="paramdir">[in]</td><td class="paramname">lostConnectionReason</td><td>How the connection was closed: manually, connection lost, or notification of disconnection </td></tr>
  986. </table>
  987. </dd>
  988. </dl>
  989. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#a80c7612ca1a5dcfeec0b52d8049a71ea">RakNet::PluginInterface2</a>.</p>
  990. </div>
  991. </div>
  992. <a class="anchor" id="ac0c9ec75335ffe5f117a99ee24b55310"></a>
  993. <div class="memitem">
  994. <div class="memproto">
  995. <table class="mlabels">
  996. <tr>
  997. <td class="mlabels-left">
  998. <table class="memname">
  999. <tr>
  1000. <td class="memname">virtual void RakNet::ReplicaManager3::OnNewConnection </td>
  1001. <td>(</td>
  1002. <td class="paramtype">const <a class="el" href="structRakNet_1_1SystemAddress.html">SystemAddress</a> &amp;&#160;</td>
  1003. <td class="paramname"><em>systemAddress</em>, </td>
  1004. </tr>
  1005. <tr>
  1006. <td class="paramkey"></td>
  1007. <td></td>
  1008. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  1009. <td class="paramname"><em>rakNetGUID</em>, </td>
  1010. </tr>
  1011. <tr>
  1012. <td class="paramkey"></td>
  1013. <td></td>
  1014. <td class="paramtype">bool&#160;</td>
  1015. <td class="paramname"><em>isIncoming</em>&#160;</td>
  1016. </tr>
  1017. <tr>
  1018. <td></td>
  1019. <td>)</td>
  1020. <td></td><td></td>
  1021. </tr>
  1022. </table>
  1023. </td>
  1024. <td class="mlabels-right">
  1025. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  1026. </tr>
  1027. </table>
  1028. </div><div class="memdoc">
  1029. <p>Called when we got a new connection </p>
  1030. <dl class="params"><dt>Parameters</dt><dd>
  1031. <table class="params">
  1032. <tr><td class="paramdir">[in]</td><td class="paramname">systemAddress</td><td>Address of the new connection </td></tr>
  1033. <tr><td class="paramdir">[in]</td><td class="paramname">rakNetGuid</td><td>The guid of the specified system </td></tr>
  1034. <tr><td class="paramdir">[in]</td><td class="paramname">isIncoming</td><td>If true, this is ID_NEW_INCOMING_CONNECTION, or the equivalent </td></tr>
  1035. </table>
  1036. </dd>
  1037. </dl>
  1038. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#abf13327cc10f772ba06dff8f2687f8ae">RakNet::PluginInterface2</a>.</p>
  1039. </div>
  1040. </div>
  1041. <a class="anchor" id="a0cdd79247e16ca120ed9d13c1fca60ed"></a>
  1042. <div class="memitem">
  1043. <div class="memproto">
  1044. <table class="mlabels">
  1045. <tr>
  1046. <td class="mlabels-left">
  1047. <table class="memname">
  1048. <tr>
  1049. <td class="memname">virtual <a class="el" href="group__PLUGIN__INTERFACE__GROUP.html#ga89998adaafb29e5d879113b992161085">PluginReceiveResult</a> RakNet::ReplicaManager3::OnReceive </td>
  1050. <td>(</td>
  1051. <td class="paramtype"><a class="el" href="structRakNet_1_1Packet.html">Packet</a> *&#160;</td>
  1052. <td class="paramname"><em>packet</em></td><td>)</td>
  1053. <td></td>
  1054. </tr>
  1055. </table>
  1056. </td>
  1057. <td class="mlabels-right">
  1058. <span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
  1059. </tr>
  1060. </table>
  1061. </div><div class="memdoc">
  1062. <p>OnReceive is called for every packet. </p>
  1063. <dl class="params"><dt>Parameters</dt><dd>
  1064. <table class="params">
  1065. <tr><td class="paramdir">[in]</td><td class="paramname">packet</td><td>the packet that is being returned to the user </td></tr>
  1066. </table>
  1067. </dd>
  1068. </dl>
  1069. <dl class="section return"><dt>Returns</dt><dd>True to allow the game and other plugins to get this message, false to absorb it </dd></dl>
  1070. <p>Reimplemented from <a class="el" href="classRakNet_1_1PluginInterface2.html#aa86f33263c1648f11b8a006469272639">RakNet::PluginInterface2</a>.</p>
  1071. </div>
  1072. </div>
  1073. <a class="anchor" id="a8e0a4be1310f582f98462a1831467402"></a>
  1074. <div class="memitem">
  1075. <div class="memproto">
  1076. <table class="memname">
  1077. <tr>
  1078. <td class="memname"><a class="el" href="classRakNet_1_1Connection__RM3.html">RakNet::Connection_RM3</a>* RakNet::ReplicaManager3::PopConnection </td>
  1079. <td>(</td>
  1080. <td class="paramtype"><a class="el" href="structRakNet_1_1RakNetGUID.html">RakNetGUID</a>&#160;</td>
  1081. <td class="paramname"><em>guid</em>, </td>
  1082. </tr>
  1083. <tr>
  1084. <td class="paramkey"></td>
  1085. <td></td>
  1086. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  1087. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  1088. </tr>
  1089. <tr>
  1090. <td></td>
  1091. <td>)</td>
  1092. <td></td><td></td>
  1093. </tr>
  1094. </table>
  1095. </div><div class="memdoc">
  1096. <p>Stop tracking a connection. </p>
  1097. <p>On call, for each replica returned by <a class="el" href="classRakNet_1_1ReplicaManager3.html#adeb8596077be0f06f808ca475942bda1" title="Returns all objects originally created by a particular system.">GetReplicasCreatedByGuid()</a>, QueryActionOnPopConnection() will be called. Depending on the return value, this may delete the corresponding replica.<br/>
  1098. If autoDestroy is true in the call to <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a> (true by default) then this is called automatically when the connection is lost. In that case, the returned connection instance is deleted.<br/>
  1099. </p>
  1100. <dl class="params"><dt>Parameters</dt><dd>
  1101. <table class="params">
  1102. <tr><td class="paramdir">[in]</td><td class="paramname">guid</td><td>of the connection to get. Passed to <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">ReplicaManager3::AllocConnection()</a> originally. </td></tr>
  1103. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  1104. </table>
  1105. </dd>
  1106. </dl>
  1107. </div>
  1108. </div>
  1109. <a class="anchor" id="a5497b1ce378391cd617cec81ce7d8b94"></a>
  1110. <div class="memitem">
  1111. <div class="memproto">
  1112. <table class="memname">
  1113. <tr>
  1114. <td class="memname">bool RakNet::ReplicaManager3::PushConnection </td>
  1115. <td>(</td>
  1116. <td class="paramtype"><a class="el" href="classRakNet_1_1Connection__RM3.html">RakNet::Connection_RM3</a> *&#160;</td>
  1117. <td class="paramname"><em>newConnection</em>, </td>
  1118. </tr>
  1119. <tr>
  1120. <td class="paramkey"></td>
  1121. <td></td>
  1122. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  1123. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  1124. </tr>
  1125. <tr>
  1126. <td></td>
  1127. <td>)</td>
  1128. <td></td><td></td>
  1129. </tr>
  1130. </table>
  1131. </div><div class="memdoc">
  1132. <p>Track a new <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> instance. </p>
  1133. <p>If <em>autoCreate</em> is false for <a class="el" href="classRakNet_1_1ReplicaManager3.html#af7e33dfb956e311cde40a97c9f89dc8e" title="Enable or disable automatically assigning connections to new instances of Connection_RM3.">SetAutoManageConnections()</a>, then you need this function to add new instances of <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> yourself.<br/>
  1134. You don't need to track this pointer yourself, you can get it with <a class="el" href="classRakNet_1_1ReplicaManager3.html#a3f239e372b43f60bb27163ab5011fe17" title="Returns a connection pointer previously added with PushConnection()">GetConnectionAtIndex()</a>, <a class="el" href="classRakNet_1_1ReplicaManager3.html#af43d3d10f0369d38a481090a6609a48f" title="Returns a connection pointer previously added with PushConnection.()">GetConnectionByGUID()</a>, or <a class="el" href="classRakNet_1_1ReplicaManager3.html#ab2eb6fff3e5a71113442b75975801d70" title="Returns a connection pointer previously added with PushConnection()">GetConnectionBySystemAddress()</a>.<br/>
  1135. </p>
  1136. <dl class="params"><dt>Parameters</dt><dd>
  1137. <table class="params">
  1138. <tr><td class="paramdir">[in]</td><td class="paramname">newConnection</td><td>The new connection instance to track. </td></tr>
  1139. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  1140. </table>
  1141. </dd>
  1142. </dl>
  1143. </div>
  1144. </div>
  1145. <a class="anchor" id="a9046d827471c0be651b54b7efb7b6f28"></a>
  1146. <div class="memitem">
  1147. <div class="memproto">
  1148. <table class="memname">
  1149. <tr>
  1150. <td class="memname">void RakNet::ReplicaManager3::Reference </td>
  1151. <td>(</td>
  1152. <td class="paramtype"><a class="el" href="classRakNet_1_1Replica3.html">RakNet::Replica3</a> *&#160;</td>
  1153. <td class="paramname"><em>replica3</em>, </td>
  1154. </tr>
  1155. <tr>
  1156. <td class="paramkey"></td>
  1157. <td></td>
  1158. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  1159. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  1160. </tr>
  1161. <tr>
  1162. <td></td>
  1163. <td>)</td>
  1164. <td></td><td></td>
  1165. </tr>
  1166. </table>
  1167. </div><div class="memdoc">
  1168. <p>Adds a replicated object to the system. </p>
  1169. <p>Anytime you create a new object that derives from <a class="el" href="classRakNet_1_1Replica3.html" title="Base class for your replicated objects for the ReplicaManager3 system.">Replica3</a>, and you want <a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> to use it, pass it to <a class="el" href="classRakNet_1_1ReplicaManager3.html#a9046d827471c0be651b54b7efb7b6f28" title="Adds a replicated object to the system.">Reference()</a>.<br/>
  1170. Remote systems already connected will potentially download this object the next time <a class="el" href="classRakNet_1_1ReplicaManager3.html#a8aa2fdb5b20aeeab74b037bc1632c9e9" title="Call interfaces, send data.">ReplicaManager3::Update()</a> is called, which happens every time you call <a class="el" href="classRakNet_1_1RakPeerInterface.html#a1c50453d9dee600920aeabd62ad7c119">RakPeerInterface::Receive()</a>.<br/>
  1171. You can also call <a class="el" href="classRakNet_1_1ReplicaManager3.html#a8aa2fdb5b20aeeab74b037bc1632c9e9" title="Call interfaces, send data.">ReplicaManager3::Update()</a> manually to send referenced objects right away </p>
  1172. <dl class="params"><dt>Parameters</dt><dd>
  1173. <table class="params">
  1174. <tr><td class="paramdir">[in]</td><td class="paramname">replica3</td><td>The object to start tracking </td></tr>
  1175. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  1176. </table>
  1177. </dd>
  1178. </dl>
  1179. </div>
  1180. </div>
  1181. <a class="anchor" id="a18b55ef2c0606b05896e2b4a5103ab21"></a>
  1182. <div class="memitem">
  1183. <div class="memproto">
  1184. <table class="memname">
  1185. <tr>
  1186. <td class="memname">void RakNet::ReplicaManager3::RemoveWorld </td>
  1187. <td>(</td>
  1188. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  1189. <td class="paramname"><em>worldId</em></td><td>)</td>
  1190. <td></td>
  1191. </tr>
  1192. </table>
  1193. </div><div class="memdoc">
  1194. <p>Deallocate a world added with AddWorld, or the default world with id 0 Deallocating a world will also stop tracking and updating all connections and replicas associated with that world. </p>
  1195. <dl class="params"><dt>Parameters</dt><dd>
  1196. <table class="params">
  1197. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>A <em>worldId</em> value previously added with <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  1198. </table>
  1199. </dd>
  1200. </dl>
  1201. </div>
  1202. </div>
  1203. <a class="anchor" id="af7e33dfb956e311cde40a97c9f89dc8e"></a>
  1204. <div class="memitem">
  1205. <div class="memproto">
  1206. <table class="memname">
  1207. <tr>
  1208. <td class="memname">void RakNet::ReplicaManager3::SetAutoManageConnections </td>
  1209. <td>(</td>
  1210. <td class="paramtype">bool&#160;</td>
  1211. <td class="paramname"><em>autoCreate</em>, </td>
  1212. </tr>
  1213. <tr>
  1214. <td class="paramkey"></td>
  1215. <td></td>
  1216. <td class="paramtype">bool&#160;</td>
  1217. <td class="paramname"><em>autoDestroy</em>&#160;</td>
  1218. </tr>
  1219. <tr>
  1220. <td></td>
  1221. <td>)</td>
  1222. <td></td><td></td>
  1223. </tr>
  1224. </table>
  1225. </div><div class="memdoc">
  1226. <p>Enable or disable automatically assigning connections to new instances of <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a>. </p>
  1227. <p><a class="el" href="classRakNet_1_1ReplicaManager3.html" title="System to help automate game object construction, destruction, and serialization.">ReplicaManager3</a> can automatically create and/or destroy <a class="el" href="classRakNet_1_1Connection__RM3.html" title="Each remote system is represented by Connection_RM3. Used to allocate Replica3 and track which instan...">Connection_RM3</a> as systems connect or disconnect from <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a>.<br/>
  1228. By default this is on, to make the system easier to learn and setup.<br/>
  1229. If you don't want all connections to take part in the game, or you want to delay when a connection downloads the game, set <em>autoCreate</em> to false.<br/>
  1230. If you want to delay deleting a connection that has dropped, set <em>autoDestroy</em> to false. If you do this, then you must call <a class="el" href="classRakNet_1_1ReplicaManager3.html#a8e0a4be1310f582f98462a1831467402" title="Stop tracking a connection.">PopConnection()</a> to remove that connection from being internally tracked. You'll also have to delete the connection instance on your own.<br/>
  1231. </p>
  1232. <dl class="params"><dt>Parameters</dt><dd>
  1233. <table class="params">
  1234. <tr><td class="paramdir">[in]</td><td class="paramname">autoCreate</td><td>Automatically call <a class="el" href="classRakNet_1_1ReplicaManager3.html#ade7df800d3dfd31bdd44de76172eb912" title="Implement to return a game specific derivation of Connection_RM3.">ReplicaManager3::AllocConnection()</a> for each new connection. Defaults to true. Also see <a class="el" href="classRakNet_1_1ReplicaManager3.html#aac9e84d2ea13026c6e05ec667897e692" title="Call AllocConnection() and PushConnection() for each connection in participantList.">AutoCreateConnectionList()</a> </td></tr>
  1235. <tr><td class="paramdir">[in]</td><td class="paramname">autoDestroy</td><td>Automatically call <a class="el" href="classRakNet_1_1ReplicaManager3.html#a78b449c8e3caa9a343a7d273f768687c" title="Implement to destroy a class instanced returned by AllocConnection()">ReplicaManager3::DeallocConnection()</a> for each dropped connection. Defaults to true. </td></tr>
  1236. </table>
  1237. </dd>
  1238. </dl>
  1239. </div>
  1240. </div>
  1241. <a class="anchor" id="a06af43f52ae3148e763ad9223c308639"></a>
  1242. <div class="memitem">
  1243. <div class="memproto">
  1244. <table class="memname">
  1245. <tr>
  1246. <td class="memname">void RakNet::ReplicaManager3::SetAutoSerializeInterval </td>
  1247. <td>(</td>
  1248. <td class="paramtype">RakNet::Time&#160;</td>
  1249. <td class="paramname"><em>intervalMS</em></td><td>)</td>
  1250. <td></td>
  1251. </tr>
  1252. </table>
  1253. </div><div class="memdoc">
  1254. <p>Every <em>intervalMS</em> milliseconds, Connection_RM3::OnAutoserializeInterval() will be called.<br/>
  1255. Defaults to 30.<br/>
  1256. Pass with &lt;0 to disable. Pass 0 to Serialize() every time RakPeer::Recieve() is called<br/>
  1257. If you want to control the update interval with more granularity, use the return values from <a class="el" href="classRakNet_1_1Replica3.html#a6e59b6a75b22441365145bf552f89e09" title="Serialize our class to a bitstream.">Replica3::Serialize()</a>.<br/>
  1258. </p>
  1259. <dl class="params"><dt>Parameters</dt><dd>
  1260. <table class="params">
  1261. <tr><td class="paramdir">[in]</td><td class="paramname">intervalMS</td><td>How frequently to autoserialize all objects. This controls the maximum number of game object updates per second. </td></tr>
  1262. </table>
  1263. </dd>
  1264. </dl>
  1265. </div>
  1266. </div>
  1267. <a class="anchor" id="a7e01d9098c06ad5c9eac71506fad6b13"></a>
  1268. <div class="memitem">
  1269. <div class="memproto">
  1270. <table class="memname">
  1271. <tr>
  1272. <td class="memname">void RakNet::ReplicaManager3::SetDefaultOrderingChannel </td>
  1273. <td>(</td>
  1274. <td class="paramtype">char&#160;</td>
  1275. <td class="paramname"><em>def</em></td><td>)</td>
  1276. <td></td>
  1277. </tr>
  1278. </table>
  1279. </div><div class="memdoc">
  1280. <dl class="params"><dt>Parameters</dt><dd>
  1281. <table class="params">
  1282. <tr><td class="paramdir">[in]</td><td class="paramname">Default</td><td>ordering channel to use for object creation, destruction, and serializations </td></tr>
  1283. </table>
  1284. </dd>
  1285. </dl>
  1286. </div>
  1287. </div>
  1288. <a class="anchor" id="afcbcfde423edca9e386f59c2f054e753"></a>
  1289. <div class="memitem">
  1290. <div class="memproto">
  1291. <table class="memname">
  1292. <tr>
  1293. <td class="memname">void RakNet::ReplicaManager3::SetDefaultPacketPriority </td>
  1294. <td>(</td>
  1295. <td class="paramtype"><a class="el" href="PacketPriority_8h.html#a659378374e516180f93640c79f59705c">PacketPriority</a>&#160;</td>
  1296. <td class="paramname"><em>def</em></td><td>)</td>
  1297. <td></td>
  1298. </tr>
  1299. </table>
  1300. </div><div class="memdoc">
  1301. <dl class="params"><dt>Parameters</dt><dd>
  1302. <table class="params">
  1303. <tr><td class="paramdir">[in]</td><td class="paramname">Default</td><td>packet priority to use for object creation, destruction, and serializations </td></tr>
  1304. </table>
  1305. </dd>
  1306. </dl>
  1307. </div>
  1308. </div>
  1309. <a class="anchor" id="a3909030c3ad377e9b2ac1afc0e78889f"></a>
  1310. <div class="memitem">
  1311. <div class="memproto">
  1312. <table class="memname">
  1313. <tr>
  1314. <td class="memname">void RakNet::ReplicaManager3::SetDefaultPacketReliability </td>
  1315. <td>(</td>
  1316. <td class="paramtype"><a class="el" href="PacketPriority_8h.html#ae41fa01235e99dced384d137fa874a7e">PacketReliability</a>&#160;</td>
  1317. <td class="paramname"><em>def</em></td><td>)</td>
  1318. <td></td>
  1319. </tr>
  1320. </table>
  1321. </div><div class="memdoc">
  1322. <dl class="params"><dt>Parameters</dt><dd>
  1323. <table class="params">
  1324. <tr><td class="paramdir">[in]</td><td class="paramname">Default</td><td>packet reliability to use for object creation, destruction, and serializations </td></tr>
  1325. </table>
  1326. </dd>
  1327. </dl>
  1328. </div>
  1329. </div>
  1330. <a class="anchor" id="a916816210240e1f1d38478cea311999e"></a>
  1331. <div class="memitem">
  1332. <div class="memproto">
  1333. <table class="memname">
  1334. <tr>
  1335. <td class="memname">void RakNet::ReplicaManager3::SetNetworkIDManager </td>
  1336. <td>(</td>
  1337. <td class="paramtype"><a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> *&#160;</td>
  1338. <td class="paramname"><em>_networkIDManager</em>, </td>
  1339. </tr>
  1340. <tr>
  1341. <td class="paramkey"></td>
  1342. <td></td>
  1343. <td class="paramtype"><a class="el" href="group__REPLICA__MANAGER__GROUP3.html#ga44b59af8e882248f61aa41d8ace38bf7">WorldId</a>&#160;</td>
  1344. <td class="paramname"><em>worldId</em> = <code>0</code>&#160;</td>
  1345. </tr>
  1346. <tr>
  1347. <td></td>
  1348. <td>)</td>
  1349. <td></td><td></td>
  1350. </tr>
  1351. </table>
  1352. </div><div class="memdoc">
  1353. <p>Sets the networkIDManager instance that this plugin relys upon.<br/>
  1354. Uses whatever instance is attached to <a class="el" href="classRakNet_1_1RakPeerInterface.html" title="The main interface for network communications.">RakPeerInterface</a> if unset.<br/>
  1355. To support multiple worlds, you should set it to a different manager for each instance of the plugin </p>
  1356. <dl class="params"><dt>Parameters</dt><dd>
  1357. <table class="params">
  1358. <tr><td class="paramdir">[in]</td><td class="paramname">_networkIDManager</td><td>The externally allocated <a class="el" href="classRakNet_1_1NetworkIDManager.html">NetworkIDManager</a> instance for this plugin to use. </td></tr>
  1359. <tr><td class="paramdir">[in]</td><td class="paramname">worldId</td><td>Used for multiple worlds. World 0 is created automatically by default. See <a class="el" href="classRakNet_1_1ReplicaManager3.html#aa0c70560e7dd9bda8b50ff3909f78248" title="ReplicaManager3 can support multiple worlds, where each world has a separate NetworkIDManager, list of connections, replicas, etc A world with id 0 is created automatically. If you want multiple worlds, use this function, and ReplicaManager3::SetNetworkIDManager() to have a different NetworkIDManager instance per world.">AddWorld()</a> </td></tr>
  1360. </table>
  1361. </dd>
  1362. </dl>
  1363. </div>
  1364. </div>
  1365. <hr/>The documentation for this class was generated from the following file:<ul>
  1366. <li>D:/temp/RakNet_PC/Source/<a class="el" href="ReplicaManager3_8h.html">ReplicaManager3.h</a></li>
  1367. </ul>
  1368. </div><!-- contents -->
  1369. <!-- start footer part -->
  1370. <hr class="footer"/><address class="footer"><small>
  1371. Generated on Mon Jun 2 2014 20:10:29 for RakNet by &#160;<a href="http://www.doxygen.org/index.html">
  1372. <img class="footer" src="doxygen.png" alt="doxygen"/>
  1373. </a> 1.8.2
  1374. </small></address>
  1375. </body>
  1376. </html>
粤ICP备19079148号