Exemplo n.º 1
0
 public void RemoveObject(ServerNetworkEntity obj)
 {
     objects.Remove(obj);
     if (obj.lor == this)
     {
         obj.lor = null;
     }
 }
Exemplo n.º 2
0
        public void DestroyNetworkEntity(ServerNetworkEntity networkEntity)
        {
            using (Packet _packet = new Packet(NetworkManager.DEFAULT_SERVER_DESTROY_NETWORKENTITY, PacketVerification.HASH))
            {
                _packet.Write(networkEntity.id);

                SendTCPDataToAll(_packet);
            }
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
 public void TransferObject(ServerNetworkEntity obj, LocalityOfRelevance target)
 {
     if (obj is PlayerEntity player)
     {
         TransferPlayer(player, target);
     }
     else
     {
         target?.AddObject(obj);
         RemoveObject(obj);
     }
 }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 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);
 }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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!");
                }
            }
        }
Exemplo n.º 9
0
 public void DestroyNetworkEntity(ServerNetworkEntity networkEntity)
 {
     server?.DestroyNetworkEntity(networkEntity);
 }
Exemplo n.º 10
0
 public void TransformNetworkEntity(ServerNetworkEntity networkEntity)
 {
     server?.TransformNetworkEntity(networkEntity);
 }
Exemplo n.º 11
0
 public void SpawnNetworkEntity(ServerNetworkEntity networkEntity)
 {
     server?.SpawnNetworkEntity(networkEntity);
 }
Exemplo n.º 12
0
 public void AddObject(ServerNetworkEntity obj)
 {
     objects.Add(obj);
     obj.lor = this;
 }