ClientObjectManager::ClientObjectManager( Mode mode, PluginState state, sigc::signal<void>& rUpdateSignal, sigc::signal<void>& rLateUpdateSignal, ClientPluginManager& rPluginManager, RakNet::RakPeerInterface& rRakPeer, RakNet::ReplicaManager3& rReplicaManager, RakNet::NetworkIDManager& rNetworkIDManager ): ObjectManager( mode, rRakPeer.GetMyGUID(), rRakPeer.GetGUIDFromIndex( 0 ), rUpdateSignal, rLateUpdateSignal, rPluginManager.getPlugin<ClientObjectTemplateManager>(), rReplicaManager, rNetworkIDManager, rPluginManager.getServer().getServerConnection().getRPC3() ), ClientPlugin( mode, state, rPluginManager, rRakPeer, rReplicaManager, rNetworkIDManager ), mPermissionManager( rPluginManager.getPlugin<PermissionManager>() ) { PropertySynchronization::storeUserObject(); try { Plugin::getPluginManager().getPlugin<LuaPlugin>().get().object( "ObjectManager" ) = this; } catch( Exception e ) { LCLOGE << "Could not add ObjectManager object to lua: " << e.what(); } }