public void RemoveObject(ServerNetworkEntity obj) { objects.Remove(obj); if (obj.lor == this) { obj.lor = null; } }
public void DestroyNetworkEntity(ServerNetworkEntity networkEntity) { using (Packet _packet = new Packet(NetworkManager.DEFAULT_SERVER_DESTROY_NETWORKENTITY, PacketVerification.HASH)) { _packet.Write(networkEntity.id); SendTCPDataToAll(_packet); } }
public void TransformNetworkEntity(ServerNetworkEntity networkEntity) { using (Packet _packet = new Packet(NetworkManager.DEFAULT_SERVER_TRANSFORM_NETWORKENTITY, PacketVerification.NONE)) { _packet.Write(networkEntity.id); _packet.Write(networkEntity.transform.position); _packet.Write(networkEntity.transform.rotation); SendUDPDataToAll(_packet); } }
public void TransferObject(ServerNetworkEntity obj, LocalityOfRelevance target) { if (obj is PlayerEntity player) { TransferPlayer(player, target); } else { target?.AddObject(obj); RemoveObject(obj); } }
public void SpawnNetworkEntity(ServerNetworkEntity networkEntity) { using (Packet _packet = new Packet(NetworkManager.DEFAULT_SERVER_SPAWN_NETWORKENTITY, PacketVerification.HASH)) { _packet.Write(networkEntity.id); _packet.Write(networkEntity.entityType); _packet.Write(networkEntity.transform.position); _packet.Write(networkEntity.transform.rotation); _packet.Write(networkEntity.transform.localScale); SendTCPDataToAll(_packet); } }
public void DestroyObject(ServerNetworkEntity objectToRemove) { objectToRemove.OnLeftRoom?.Invoke(this); if (objectToRemove is PlayerEntity player) { objectToRemove.lor?.RemovePlayer(player); } else { objectToRemove.lor?.RemoveObject(objectToRemove); } networkEntities.Remove(objectToRemove.entityID); }
public void SpawnObject(ServerNetworkEntity objectToSpawn) { SceneManager.MoveGameObjectToScene(objectToSpawn.gameObject, roomScene); var entID = GetNextEntityID(); objectToSpawn.entityID = entID; objectToSpawn.transform.parent = transform; objectToSpawn.room = this; var lor = GetLOR(objectToSpawn.position); if (objectToSpawn is PlayerEntity player) { lor.AddPlayer(player); } else { lor.AddObject(objectToSpawn); } networkEntities.Add(entID, objectToSpawn); objectToSpawn.OnEnteredRoom?.Invoke(this); }
public void ResendNetworkEntity(int _fromClient, Packet _clientPacket) { using (Packet _packet = new Packet(NetworkManager.DEFAULT_SERVER_SPAWN_NETWORKENTITY, PacketVerification.HASH)) { int _entityId = _clientPacket.ReadInt(); if (ServerNetworkEntity.entities.ContainsKey(_entityId)) { ServerNetworkEntity networkEntity = ServerNetworkEntity.entities[_entityId]; _packet.Write(networkEntity.id); _packet.Write(networkEntity.entityType); _packet.Write(networkEntity.transform.position); _packet.Write(networkEntity.transform.rotation); _packet.Write(networkEntity.transform.localScale); SendTCPData(_fromClient, _packet); } else { Debug.LogError($"Client requested resend of entity with ID {_entityId} which no longer exists!"); } } }
public void DestroyNetworkEntity(ServerNetworkEntity networkEntity) { server?.DestroyNetworkEntity(networkEntity); }
public void TransformNetworkEntity(ServerNetworkEntity networkEntity) { server?.TransformNetworkEntity(networkEntity); }
public void SpawnNetworkEntity(ServerNetworkEntity networkEntity) { server?.SpawnNetworkEntity(networkEntity); }
public void AddObject(ServerNetworkEntity obj) { objects.Add(obj); obj.lor = this; }