public static int qrCountCallback(QueryReportKeyType keyType, IntPtr userData) { Console.Write("\nIn {0} : ", System.Reflection.MethodBase.GetCurrentMethod().Name); Console.Write("Reporting {0} = ", keyType); if (keyType == QueryReportKeyType.key_player) { Console.WriteLine("{0} players", myGame.numPlayers); return(myGame.numPlayers); } else if (keyType == QueryReportKeyType.key_team) { Console.WriteLine("{0} teams", myGame.numTeams); return(myGame.numTeams); } else { return(0); } }
public static void qrKeyListCallback(QueryReportKeyType keyType, ref gamespyQueryReport.qr2Keybuffer /*qr2_keybuffer_t*/ keyBuffer, IntPtr userData) { Console.Write("\nIn {0} : ", System.Reflection.MethodBase.GetCurrentMethod().Name); Console.WriteLine("Reporting keylist for {0}", keyType); //need to add all the keys we support switch (keyType) { case QueryReportKeyType.key_server: gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.HOSTNAME_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.HOSTPORT_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.MAPNAME_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.GAMETYPE_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.NUMPLAYERS_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.NUMTEAMS_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.MAXPLAYERS_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.TEAMPLAY_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.FRAGLIMIT_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.TIMELIMIT_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, GRAVITY_KEY); //a custom key break; case QueryReportKeyType.key_player: gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.PLAYER__KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.SCORE__KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.DEATHS__KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.TEAM__KEY); break; case QueryReportKeyType.key_team: gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.TEAM_T_KEY); gamespyQueryReport.qr2_keybuffer_add(ref keyBuffer, (int)qr2DefaultKeys.SCORE_T_KEY); break; default: break; } }