public void ReplyFire(NetConnection connection, FireData fire) { int userid = players[connection].userid; foreach (Player player in players.Values) { GSrv.Send(MessageType.ReplyFire, userid, player.connection, NetDeliveryMethod.ReliableOrdered); } if (fire.hit) { Player player = players.Values.FirstOrDefault(x => x.userid == fire.userid); if (player != null) { if (fire.parts == 0) { player.Damaged(100); } else if (fire.parts == 1) { player.Damaged(50); } else { player.Damaged(25); } } } }
static public void SendFireHandler(NetConnection connection, object data) { FireData fire = null; try { fire = GSrv.Deserialize <FireData>((byte[])data); } catch { return; } if (!PlayerCaches.AuthDone(connection)) { return; } if (PlayerCaches.InLobby(connection)) { return; } int roomid = PlayerCaches.GetRoomID(connection); if (Lobby.GetRoomState(roomid) == 0) { return; } Lobby.ReplyFire(connection, roomid, fire); }
void SendFire(bool hit, int parts, int userid) { FireData data = new FireData { hit = hit, parts = parts, userid = userid }; GCli.Send(MessageType.SendFire, GCli.Serialize <FireData>(data), NetDeliveryMethod.ReliableOrdered); }
public static void ReplyFire(NetConnection connection, int roomid, FireData fire) { rooms[roomid].ReplyFire(connection, fire); }