public void RequestObjectRegistration(NetIncomingMessage msg, int actor_id) { var client = GetClientInfo(msg); var obj = NetworkActorRegistry.GetById(actor_id); client.proximity_set.Add(obj); }
public void RPC_Despawn(NetIncomingMessage msg, int objectId) { var net_actor = NetworkActorRegistry.GetById(objectId); NetworkRemoteCallSender.CallOnServer("RPC_RequestObjectDeregistration", net_actor.actor_id); NetworkActorRegistry.UnregisterActor(net_actor); GameObject.Destroy(net_actor.gameObject); }
private void ReceiveObjectState(NetIncomingMessage msg) { while (msg.Position < msg.LengthBits) { var objectId = msg.ReadInt32(); NetworkActorRegistry.GetById(objectId).Receive(msg); } }
static object GetCallTargetInstance(int id) { if (id == 0) { return(LidPeer.instance); } else { return(NetworkActorRegistry.GetById(id)); } }
public void RPC_RequestDespawn(NetIncomingMessage msg) { var client_info = GetClientInfo(msg); if (client_info.has_spawned) { client_info.has_spawned = false; var net_actor = NetworkActorRegistry.GetById(client_info.actor_id); GameObject.Destroy(net_actor.gameObject); if (connected_clients.Count > 1) { NetworkRemoteCallSender.CallOnAllClients("RPC_Despawn", client_info.actor_id); } } }