コード例 #1
0
        public static void qrTeamKeyCallback(int keyId, int index, ref gamespyQueryReport.qr2Buffer /*qr2_buffer_t*/ outBuf, IntPtr userData)
        {
            Console.WriteLine("\nIn {0} : Reporting team keys", System.Reflection.MethodBase.GetCurrentMethod().Name);

            //check for valid index
            if (index >= myGame.numTeams)
            {
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, "");
                return;
            }
            switch ((qr2DefaultKeys)keyId)
            {
            case qr2DefaultKeys.TEAM_T_KEY:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, myGame.teams[index].name);
                Console.WriteLine("Reporting team[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.teams[index].name);
                break;

            case qr2DefaultKeys.SCORE_T_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.teams[index].score);
                Console.WriteLine("Reporting team[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.teams[index].score);
                break;

            default:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, "");
                break;
            }
        }
コード例 #2
0
        public static void qrPlayerKeyCallback(int keyId, int index, ref gamespyQueryReport.qr2Buffer /*qr2_buffer_t*/ outBuf, IntPtr userData)
        {
            //check for valid index
            if (index >= myGame.numPlayers)
            {
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, "");
                return;
            }

            Console.Write("\nIn {0} : ", System.Reflection.MethodBase.GetCurrentMethod().Name);

            switch ((qr2DefaultKeys)keyId)
            {
            case qr2DefaultKeys.PLAYER__KEY:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, myGame.players[index].name);
                Console.WriteLine(" Reporting player[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.players[index].name);
                break;

            case qr2DefaultKeys.SCORE__KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.players[index].frags);
                Console.WriteLine(" Reporting player[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.players[index].frags);
                break;

            case qr2DefaultKeys.DEATHS__KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.players[index].deaths);
                Console.WriteLine(" Reporting player[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.players[index].deaths);
                break;

            case qr2DefaultKeys.TEAM__KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.players[index].team);
                Console.WriteLine(" Reporting player[{0}] key {1} = {2}", index, (qr2DefaultKeys)keyId, myGame.players[index].team);
                break;

            default:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, "");
                break;
            }
        }
コード例 #3
0
        private const int GRAVITY_KEY = (int)qr2DefaultKeys.NUM_RESERVED_KEYS + 1; // a sample custom key

        public static void qrServerKeyCallback(int keyId, ref gamespyQueryReport.qr2Buffer /*qr2_buffer_t*/ outBuf, IntPtr userData)
        {
            Console.Write("\nIn {0} : ", System.Reflection.MethodBase.GetCurrentMethod().Name);

            Console.Write("Adding server key {0}", (qr2DefaultKeys)keyId);

            switch ((qr2DefaultKeys)keyId)
            {
            case qr2DefaultKeys.HOSTNAME_KEY:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, myGame.hostName);
                break;

            case qr2DefaultKeys.HOSTPORT_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.hostPort);
                break;

            case qr2DefaultKeys.MAPNAME_KEY:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, myGame.mapName);
                break;

            case qr2DefaultKeys.GAMETYPE_KEY:
                gamespyQueryReport.qr2_buffer_addW(ref outBuf, myGame.gameType);
                break;

            case qr2DefaultKeys.NUMPLAYERS_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.numPlayers);
                break;

            case qr2DefaultKeys.NUMTEAMS_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.numTeams);
                break;

            case qr2DefaultKeys.MAXPLAYERS_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.maxPlayers);
                break;

            case qr2DefaultKeys.TEAMPLAY_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.teamPlay);
                break;

            case qr2DefaultKeys.FRAGLIMIT_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.fragLimit);
                break;

            case qr2DefaultKeys.TIMELIMIT_KEY:
                gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.timeLimit);
                break;

            default:
            {
                if (keyId == GRAVITY_KEY)
                {
                    Console.Write(" = custom Key [GRAVITY_KEY]");
                    gamespyQueryReport.qr2_buffer_add_int(ref outBuf, myGame.gravity);
                }
                else
                {
                    gamespyQueryReport.qr2_buffer_addW(ref outBuf, "");
                }
                break;
            }
            }
            Console.WriteLine();
        }