private void ManageHandleMovementRequest(PacketHandleMovementInput packet) { // Send requets to the server PacketMovementUpdateRequest movUpdateRequest = new PacketMovementUpdateRequest(packet.DestinationWanted, packet.ComponentId); EventManager.Get().EnqueuePacket(0, movUpdateRequest); /////////////////////////////////// // For now just echo back to the view -> should be done by the server in the futur // TODO : Delete //DeusVector2 destination = packet.DestinationWanted; //uint originTimestampMs = TimeHelper.GetUnixMsTimeStamp() + 200; //DeusVector2 origin = DeusVector2.Zero; // //// get value at update //var compo = FindComponent(packet.ObjectId, packet.ComponentId); //if (compo != null && compo is PositionTimeLineComponent) //{ // origin = (DeusVector2)(compo as PositionTimeLineComponent).GetViewValue(originTimestampMs); // Console.WriteLine($"Estimate value : ({origin.X},{origin.Y})"); //} // //// get futur ms //double sqrtDist = DeusVector2.SqrtMagnitude(origin, destination); //uint dtReachDestinationMs = (uint)(sqrtDist / 0.001d); // t = d / s //Console.WriteLine($"Time to go there : {dtReachDestinationMs} ms"); // //PacketMovementUpdateAnswer movUpdate = new PacketMovementUpdateAnswer(packet.ObjectId, packet.ComponentId, origin, originTimestampMs, destination, originTimestampMs + dtReachDestinationMs); //EventManager.Get().EnqueuePacket(0, movUpdate); /////////////////////////////////// }
void Update() { if (Input.GetMouseButtonDown(0)) { RaycastHit hit; if (GetMouseGamePosition(out hit)) { PacketHandleMovementInput packet = new PacketHandleMovementInput(ObjectId, PositionComponentId, new DeusVector2(hit.point.x, hit.point.z)); EventManager.Get().EnqueuePacket(0, packet); } } if (Input.GetKeyDown(KeyCode.A)) { RaycastHit hit; if (GetMouseGamePosition(out hit)) { PacketHandleSkillInput packet = new PacketHandleSkillInput(ObjectId, PositionComponentId, 1, new DeusVector2(hit.point.x, hit.point.z)); EventManager.Get().EnqueuePacket(0, packet); } } }
static void HandleInput() { while (!wantToCancel) { Console.WriteLine("0 : Message | 1 : Get games | 2 : Create games | 3 : Join game | 4 : Leave game | 5 : Ready \n Your choice : "); string choice = Console.ReadLine(); if (choice == "stop") { wantToCancel = true; } else if (choice == "0") { Console.WriteLine("Your message : "); string message = Console.ReadLine(); PacketTextMessage packet = new PacketTextMessage(); packet.MessageText = message; EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "1") { PacketHandleClickUI packet = new PacketHandleClickUI(); packet.UIClicked = PacketHandleClickUI.UIButton.GetGameButton; EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "2") { PacketHandleClickUI packet = new PacketHandleClickUI(); packet.UIClicked = PacketHandleClickUI.UIButton.CreateGameButton; EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "3") { Console.WriteLine("Game id : "); string message = Console.ReadLine(); uint idGame = 0; if (uint.TryParse(message, out idGame)) { PacketHandleClickUI packet = new PacketHandleClickUI(); packet.UIClicked = PacketHandleClickUI.UIButton.JoinGameButton; packet.GameIdToJoin = idGame; EventManager.Get().EnqueuePacket(0, packet); } } else if (choice == "4") { PacketHandleClickUI packet = new PacketHandleClickUI(); packet.UIClicked = PacketHandleClickUI.UIButton.LeaveGameButton; EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "5") { PacketHandleClickUI packet = new PacketHandleClickUI(); packet.UIClicked = PacketHandleClickUI.UIButton.ReadyButton; EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "6") { PacketHandleMovementInput packet = new PacketHandleMovementInput(1, 2, new DeusVector2(0, 10)); EventManager.Get().EnqueuePacket(0, packet); } else if (choice == "7") { PacketHandleMovementInput packet = new PacketHandleMovementInput(1, 2, new DeusVector2(0, 0)); EventManager.Get().EnqueuePacket(0, packet); } } }