Example #1
0
        public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action <GetGameStatsResponse> done)
        {
            var builder = new GetGameStatsResponse.Builder
            {
            };

            builder.AddStatsBucket(new GameStatsBucket.Builder
            {
                ActiveGames      = 1,
                BucketMax        = 100,
                BucketMin        = 0,
                ActivePlayers    = 1,
                FormingGames     = 1,
                GamesPerHour     = 100,
                WaitMilliseconds = 20,
                WaitingPlayers   = 0,
            });
            done(builder.Build());
        }
Example #2
0
        public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action<GetGameStatsResponse> done)
        {
            var response = GetGameStatsResponse.CreateBuilder()
                .AddStatsBucket(GameCreatorManager.GetGameStats(request).Build())
                .Build();

            done(response);
        }
Example #3
0
 public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action<GetGameStatsResponse> done)
 {
     var builder = new GetGameStatsResponse.Builder
                       {
                       };
     builder.AddStatsBucket(new GameStatsBucket.Builder
                                {
                                    ActiveGames = 1,
                                    BucketMax = 100,
                                    BucketMin = 0,
                                    ActivePlayers = 1,
                                    FormingGames = 1,
                                    GamesPerHour = 100,
                                    WaitMilliseconds = 20,
                                    WaitingPlayers = 0,
                                });
     done(builder.Build());
 }
Example #4
0
 public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action<GetGameStatsResponse> done)
 {
     throw new NotImplementedException();
 }
Example #5
0
 public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action<GetGameStatsResponse> done)
 {
     ProtoOutputBuffer.Write(request.GetType(), request.ToString());
 }
Example #6
0
        public override void GetGameStats(Google.ProtocolBuffers.IRpcController controller, GetGameStatsRequest request, Action <GetGameStatsResponse> done)
        {
            var response     = GetGameStatsResponse.CreateBuilder();
            var stats_bucket = GameStatsBucket.CreateBuilder();

            stats_bucket.SetBucketMin(0)
            .SetBucketMax(4294967296)
            .SetWaitMilliseconds(1354)
            .SetGamesPerHour(0)
            .SetActiveGames(69)
            .SetActivePlayers(75)
            .SetFormingGames(0)
            .SetWaitingPlayers(0);

            response.AddStatsBucket(stats_bucket);
            done(response.Build());
        }
Example #7
0
 public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action <GetGameStatsResponse> done)
 {
     ProtoOutputBuffer.Write(request.GetType(), request.ToString());
 }
Example #8
0
        //FIXME: MATCH_ALL_MOST_SPECIFIC not implemented /dustinconrad
        public static GameStatsBucket.Builder GetGameStats(GetGameStatsRequest request)
        {
            String version = String.Empty;
            int difficulty = 0;
            int currentQuest = 0;
            foreach (bnet.protocol.attribute.Attribute attribute in request.Filter.AttributeList)
            {
                switch (attribute.Name)
                {
                    case "version":
                        version = attribute.Value.StringValue;
                        break;
                    case "Game.Difficulty":
                        difficulty = (int)attribute.Value.IntValue;
                        break;
                    case "Game.CurrentQuest":
                        currentQuest = (int)attribute.Value.IntValue;
                        break;
                }
            }

            Func<bool, bool, bool, bool> matchOp;
            switch (request.Filter.Op)
            {
                case bnet.protocol.attribute.AttributeFilter.Types.Operation.MATCH_ANY:
                    matchOp = (bool b1, bool b2, bool b3) => b1 || b2 || b3;
                    break;
                case bnet.protocol.attribute.AttributeFilter.Types.Operation.MATCH_NONE:
                    matchOp = (bool b1, bool b2, bool b3) => !b1 && !b2 && !b3;
                    break;
                case bnet.protocol.attribute.AttributeFilter.Types.Operation.MATCH_ALL:
                default://default to match all, fall through is on purpose
                    matchOp = (bool b1, bool b2, bool b3) => b1 && b2 && b3;
                    break;
            }

            uint games = 0;
            int players = 0;
            foreach(GameCreator game in GameCreators.Values)
            {
                if (game.InGame != null && !game.GameCreateParams.IsPrivate)
                {
                    if (matchOp(version == game.Version, difficulty == game.GameCreateParams.Coop.DifficultyLevel, currentQuest == game.GameCreateParams.Coop.SnoQuest))
                    {
                        games++;
                        players += game.InGame.Players.Count;
                    }
                }
            }

            var bucket = GameStatsBucket.CreateBuilder()
                .SetWaitMilliseconds(200)
                .SetActiveGames(games)
                .SetActivePlayers((uint)players)
                .SetFormingGames(0)
                .SetWaitingPlayers(0);
                
            return bucket;
        }
Example #9
0
 public override void GetGameStats(IRpcController controller, GetGameStatsRequest request, Action <GetGameStatsResponse> done)
 {
     throw new NotImplementedException();
 }