예제 #1
0
    // Client requesting to despawn
    public void RequestDespawn(int instanceId, ClientBehaviour client)
    {
        var writer = new DataStreamWriter(8, Allocator.Temp);

        writer.Write(DespawnRequestId);
        writer.Write(instanceId);
        client.Send(writer);
    }
    public void Send()
    {
        var writer = GetNew();

        writer.Write(Id);
        Write(writer);
        Client.Send(writer);
    }
예제 #3
0
    // Client requesting to spawn
    public void RequestSpawn(int prefabId, ClientBehaviour client, Vector3 position, Quaternion rotation)
    {
        var writer = new DataStreamWriter(36, Allocator.Temp);

        writer.Write(SpawnRequestId);
        writer.Write(prefabId);

        byte[] buff = new byte[sizeof(float) * 7];
        Buffer.BlockCopy(BitConverter.GetBytes(position.x), 0, buff, 0 * sizeof(float), sizeof(float));
        Buffer.BlockCopy(BitConverter.GetBytes(position.y), 0, buff, 1 * sizeof(float), sizeof(float));
        Buffer.BlockCopy(BitConverter.GetBytes(position.z), 0, buff, 2 * sizeof(float), sizeof(float));

        Buffer.BlockCopy(BitConverter.GetBytes(rotation.x), 0, buff, 3 * sizeof(float), sizeof(float));
        Buffer.BlockCopy(BitConverter.GetBytes(rotation.y), 0, buff, 4 * sizeof(float), sizeof(float));
        Buffer.BlockCopy(BitConverter.GetBytes(rotation.z), 0, buff, 5 * sizeof(float), sizeof(float));
        Buffer.BlockCopy(BitConverter.GetBytes(rotation.w), 0, buff, 6 * sizeof(float), sizeof(float));

        writer.Write(buff);

        client.Send(writer);
    }