private object GetPayloadForLinkNodesCommand(NetworkCommand.LinkNodes command) { return(new LinkNodesCommandTransport { SourceID = new SerializableGuid(command.Source.Value), SourcePortDirection = (int)command.SourcePort, SinkID = new SerializableGuid(command.Sink.Value), SinkPortDirection = (int)command.SinkPort, Bandwidth = command.Attributes.Bandwidth, Latency = command.Attributes.Latency }); }
// 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); } } }