Esempio n. 1
0
 void Update()
 {
     while (!_messageQueue.IsEmpty)
     {
         PacketFlowMessage message;
         if (_messageQueue.TryDequeue(out message))
         {
             var command = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(message);
             _commandSubject.OnNext(command);
         }
     }
 }
Esempio n. 2
0
    // Update is called once per frame
    void Update()
    {
        if (!_safeToSend)
        {
            return;
        }

        if (_isAServer)         // Packet
        {
            if (Input.GetKeyDown(KeyCode.G))
            {
                var command = new NetworkCommand.AddGatewayNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.R))
            {
                var command = new NetworkCommand.AddRouterNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.C))
            {
                var command = new NetworkCommand.AddConsumerNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.L))
            {
                var command = new NetworkCommand.LinkNodes(_id, _direction, _id, _direction, new LinkAttributes(0, 0));
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.P))
            {
                var command = new NetworkCommand.AddPacket(new PacketIdentifier(), _pt, _id);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.I))
            {
                var command = new NetworkCommand.IncrementPacketTypeDirection(_id, _pt);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, ADMIN_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(ADMIN_PLAYER_MESSAGE_TYPE_ID, message);
            }
        }
        else         // Hackit
        {
            if (Input.GetKeyDown(KeyCode.G))
            {
                var command = new NetworkCommand.AddGatewayNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.R))
            {
                var command = new NetworkCommand.AddRouterNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.C))
            {
                var command = new NetworkCommand.AddConsumerNode(_id, _position, _capacity);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.L))
            {
                var command = new NetworkCommand.LinkNodes(_id, _direction, _id, _direction, new LinkAttributes(0, 0));
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.P))
            {
                var command = new NetworkCommand.AddPacket(new PacketIdentifier(), _pt, _id);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }

            if (Input.GetKeyDown(KeyCode.I))
            {
                var command = new NetworkCommand.IncrementPacketTypeDirection(_id, _pt);
                var message = new NetworkCommandAndPacketFlowMessageBidirectionalMapper().Map(_senderID, HACKER_PLAYER_TYPE, command);
                NetworkManagerInstance.client.Send(HACKER_PLAYER_MESSAGE_TYPE_ID, message);
            }
        }
    }