private void processShot(ShotMessage sm, Connection connection) { int id = server.connections[connection]; int target = sm.targetId; server.players[target].Health -= 20; }
protected Message ProcessIncomingEnvelope(Envelope env) { this.IncomingEnvelopes.Enqueue(env); Identifier messageNumber = new Identifier(SubSystem.ProcessID, SubSystem.GetNextSeqNumber()); appState = SubSystem.appState as GMAppState; if (env.Message.GetType() == typeof(ShotMessage)) { Logger.Info("Received a shot message in RespondShot convo"); ShotMessage shotMessage = (ShotMessage)env.Message; GameId = shotMessage.getGameId(); appState.isAHit(shotMessage.getXcord(), shotMessage.getYcord(), shotMessage.getPlayerId()); appState.isAWin(shotMessage.getPlayerId()); appState.P1turn = !appState.P1turn; appState.LastX = shotMessage.getXcord(); appState.LastY = shotMessage.getYcord(); ResultMessage resultMessage = new ResultMessage(appState.lastShotResult, GameId, appState.end, appState.end, false, appState.LastX, appState.LastY, messageNumber, this.ConversationId); return(resultMessage); } else { Logger.Error("Did not receive a shot message in RespondShot convo"); return(new ErrorMessage(1, messageNumber, ConversationId)); } }
public async void sendShot(float force, float angle) { angle = 0; if (!uiblocker.BlockedByUI) { ShotMessage sm = new ShotMessage(); sm.force = force; await client.room.Send("shoot", sm); } }
static void Main() { _messageClient = new MessagesFilterClient("BasicHttpBinding_IMessagesFilter"); Console.WriteLine("Please enter your name: "); Console.WriteLine("If you want to quit press Q"); Console.WriteLine(""); _username = Console.ReadLine(); if (_username == null || _username.ToUpper() == "Q") { return; } bool authentificationSuccess = _messageClient.LogIn(_username); if (authentificationSuccess) { while (true) { Console.WriteLine("Q to quit"); Console.WriteLine("U to update"); Console.WriteLine("S to shot"); Console.WriteLine("W to warn"); var input = Console.ReadLine(); if (input != null && input.ToUpper() == "Q") { break; } Message message = new UpdateMessage(); if (input != null && input.ToUpper() == "U") { message = new UpdateMessage(); } if (input != null && input.ToUpper() == "S") { message = new ShotMessage(); } if (input != null && input.ToUpper() == "W") { message = new WarningMessage(); } message.Username = _username; message.X = GetRandomLocation(-90, 90); message.Y = GetRandomLocation(-180, 180); _messageClient.ReceiveData(message); } } }
public void Handle(ShotMessage message) { IDistanceFindStrategy strategy = new EuclidesStrategy(); var closestPoliceman = GetClosetPoliceman(message.X, message.Y, strategy); closestPoliceman.RemoveAll(policeman => policeman.Name == message.Username); if (closestPoliceman.Count > 2) { closestPoliceman.RemoveAt(2); } AddWarningToDispatcher(closestPoliceman, message); }
private static bool ServerProcessShotPatch(NetworkConnection conn, ShotMessage msg) { try { var player = conn.GetPlayer(); if (!player.VanillaInventory.UserInventory.Items.TryGetValue(msg.ShooterWeaponSerial, out var itembase)) { return(false); } var item = itembase.GetSynapseItem(); Vector3 targetPos = Vector3.zero; Physics.Raycast(player.CameraReference.transform.position, player.CameraReference.transform.forward, out var raycastthit, 1000f); if (raycastthit.collider == null) { return(true); } targetPos = raycastthit.point; raycastthit.transform.gameObject.TryGetComponent(out Player target); Server.Get.Events.Player.InvokePlayerShootEvent(player, target, targetPos, item, out var allow); Server.Get.Events.Player.InvokePlayerItemUseEvent(player, item, Api.Events.SynapseEventArguments.ItemInteractState.Finalizing, ref allow); if (allow) { if (!ReferenceHub.TryGetHub(conn.identity.gameObject, out ReferenceHub referenceHub)) { return(false); } if (msg.ShooterWeaponSerial != referenceHub.inventory.CurItem.SerialNumber) { return(false); } if (referenceHub.inventory.CurInstance is Firearm firearm && firearm.ActionModule.ServerAuthorizeShot()) { firearm.HitregModule.ServerProcessShot(msg); } else { return(false); } } return(false); }
public void ProcessShotMessage(ShotMessage shotMessage) { ShotEventArgs e = new ShotEventArgs { PrimaryScore = shotMessage.PrimaryScore, SecondaryScore = shotMessage.SecondaryScore, ProgramNumber = shotMessage.ProgramNumber, LaneNumber = shotMessage.LaneNumber, LaneId = shotMessage.LaneId, Ordinal = shotMessage.ShotNbr, }; OnShot(e); }
public void Shoot() { Ray ray = new Ray(transform.position, transform.forward); RaycastHit hit; if (Physics.Raycast(ray, out hit, 500)) { if (hit.collider.tag == "serverplayer") { ServerPlayer player = hit.collider.gameObject.GetComponent <ServerPlayer>(); ShotMessage shot = new ShotMessage(player.id, time, true); toSend.Add(shot); } } }
public void HandleShot(ShotMessage message) { _shotHandler.Handle(message); }
/// <summary> /// Initializes a new instance of the <see cref="ShootingEventArgs"/> class. /// </summary> /// <param name="shooter"><inheritdoc cref="Shooter"/></param> /// <param name="msg"><inheritdoc cref="ShotMessage"/></param> public ShootingEventArgs(Player shooter, ShotMessage msg) { Shooter = shooter; ShotMessage = msg; }
private void AddWarningToDispatcher(List <Policeman> policemen, ShotMessage message) { HTMLTableGenerator.AddRow(message, policemen); }
public void TestEncodeDecode() { short Xcord = 2; short Ycord = 2; short gameId = 12; short playerId = 1; Identifier messageNum = new Identifier(2, 3); Identifier conversationId = new Identifier(44, 449); var outGoing1 = new ShotMessage(Xcord, Ycord, gameId, playerId, messageNum, conversationId); var outGoing2 = new ShotMessage(); byte[] bytes1 = outGoing1.encode(); byte[] bytes2 = outGoing2.encode(Xcord, Ycord, gameId, playerId, messageNum, conversationId); var MT1 = Message.decodeMessageType(bytes1); var MT2 = Message.decodeMessageType(bytes2); Assert.AreEqual((short)9, MT1); Assert.AreEqual((short)9, MT2); var shot1 = (ShotMessage)Message.decoder(bytes1); var shot2 = (ShotMessage)Message.decoder(bytes2); Assert.AreEqual(Xcord, shot1.getXcord()); Assert.AreEqual(Xcord, shot2.getXcord()); Assert.AreEqual(Ycord, shot1.getYcord()); Assert.AreEqual(Ycord, shot2.getYcord()); Assert.AreEqual(gameId, shot1.getGameId()); Assert.AreEqual(gameId, shot2.getGameId()); Assert.AreEqual(playerId, shot1.getPlayerId()); Assert.AreEqual(playerId, shot2.getPlayerId()); var testIdentifier1 = shot1.getMessageNumber(); Assert.IsInstanceOfType(testIdentifier1, typeof(Identifier)); Assert.AreEqual(messageNum.getPid(), testIdentifier1.getPid()); Assert.AreEqual(messageNum.getSeq(), testIdentifier1.getSeq()); var testIdentifier2 = shot2.getMessageNumber(); Assert.IsInstanceOfType(testIdentifier2, typeof(Identifier)); Assert.AreEqual(messageNum.getPid(), testIdentifier2.getPid()); Assert.AreEqual(messageNum.getSeq(), testIdentifier2.getSeq()); testIdentifier1 = shot1.getConversationId(); Assert.IsInstanceOfType(testIdentifier1, typeof(Identifier)); Assert.AreEqual(conversationId.getPid(), testIdentifier1.getPid()); Assert.AreEqual(conversationId.getSeq(), testIdentifier1.getSeq()); testIdentifier2 = shot2.getConversationId(); Assert.IsInstanceOfType(testIdentifier2, typeof(Identifier)); Assert.AreEqual(conversationId.getPid(), testIdentifier2.getPid()); Assert.AreEqual(conversationId.getSeq(), testIdentifier2.getSeq()); byte[] badBytes = new byte[2]; badBytes[0] = 1; badBytes[1] = 1; badBytes = bytes1.Concat(badBytes).ToArray(); try { Message.decoder(badBytes); Assert.Fail(); } catch (Exception e) { Logger.Debug($"Test passed: {e}"); } }