Пример #1
0
    void Client_MessageReceived(object sender, MessageReceivedEventArgs e)
    {
        TagSubjectMessage message = e.Message as TagSubjectMessage;

        //Check the message is a TagSubject message and has our ID as the tag
        if (message != null && message.Tag == dragID)
        {
            //Get the reader from the message so we can read the data
            DarkRiftReader reader = message.GetReader();

            //And update our position!
            targetPosition = new Vector3(reader.ReadSingle(), reader.ReadSingle(), 0);
        }
    }
Пример #2
0
    void Client_MessageReceived(object sender, MessageReceivedEventArgs e)
    {
        TagSubjectMessage message = e.Message as TagSubjectMessage;

        //Check the tag
        if (message != null && message.Tag == MOVEMENT_TAG)
        {
            DarkRiftReader reader = message.GetReader();

            //Read message
            Vector3 newPosition = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
            Vector3 newRotation = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());
            uint    id          = reader.ReadUInt32();

            //Update characters to move to new positions
            characters[id].NewPosition = newPosition;
            characters[id].NewRotation = newRotation;
        }
    }
Пример #3
0
    void Client_MessageReceived(object sender, MessageReceivedEventArgs e)
    {
        TagSubjectMessage message = e.Message as TagSubjectMessage;
        DarkRiftReader    reader  = message.GetReader();

        //Check the tag
        if (message != null && message.Tag == WORLD_TAG)
        {
            Vector3 position = new Vector3(reader.ReadSingle(), reader.ReadSingle(), reader.ReadSingle());

            switch (message.Subject)
            {
            case PLACE_BLOCK_SUBJECT:
                GameObject o = Instantiate(
                    blockPrefab,
                    position,
                    Quaternion.identity
                    ) as GameObject;

                o.transform.SetParent(transform);

                blocks.Add(o);

                break;

            case DESTROY_BLOCK_SUBJECT:
                GameObject block = blocks.SingleOrDefault(b => b != null && b.transform.position == position);

                if (block == null)
                {
                    return;
                }

                Destroy(block);

                blocks.Remove(block);

                break;
            }
        }
    }
Пример #4
0
    void Client_MessageReceived(object sender, MessageReceivedEventArgs e)
    {
        TagSubjectMessage message = e.Message as TagSubjectMessage;

        //Check the tag
        if (message != null && message.Tag == SPAWN_TAG)
        {
            DarkRiftReader reader = message.GetReader();

            switch (message.Subject)
            {
            case SPAWN_SUBJECT:
                SpawnPlayer(reader);
                break;

            case DESPAWN_SUBJECT:
                DespawnPlayer(reader);
                break;
            }
        }
    }