コード例 #1
0
        public static MMods GetModsForGame(int gameId, string query = "", int page = 1, int pageSize = 16, List <string> tags = null)
        {
            var restClient = new RestClient(ModIoBrowser.BaseUrl);

            restClient.UseNewtonsoftJson();
            var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame();
            var restRequest        = new RestRequest($"/v1/games/{gameId}/mods");

            restRequest.AddQueryParameter("_limit", pageSize.ToString());
            if (page >= 0)
            {
                restRequest.AddQueryParameter("_offset", (pageSize * page).ToString());
            }

            restRequest.AddQueryParameter("api_key", modIoConfiguration.ApiKey);
            restRequest.AddQueryParameter("_sort", "name");
            restRequest.AddQueryParameter("_q", query);
            if (tags != null)
            {
                restRequest.AddQueryParameter("tags", string.Join(",", tags));
            }

            Logger.Debug(restClient.BuildUri(restRequest).ToString());

            var restResponse = restClient.Get <MMods>(restRequest);

            return(restResponse.IsSuccessful ? restResponse.Data : null);
        }
コード例 #2
0
 public override bool UnInstallMod(Service service, GenericMod gameMod)
 {
     try
     {
         var server             = Server.GetSelectedServer();
         var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame();
         var modForGame         = MMod.GetModForGame(modIoConfiguration.SelectedGameId, int.Parse(gameMod.Id));
         var script             = GenerateScript(service, modIoConfiguration, false);
         var modJson            = JsonConvert.SerializeObject(modForGame);
         var type = gameMod.GetType();
         server.ServerUtilitiesService.ExecuteScript(script, 1, new[]
         {
             new JsonSerializedScriptVariable
             {
                 Name  = "Mod",
                 Value = modJson,
                 Type  = type.FullNameWithAssembly()
             }
         });
         return(true);
     }
     catch (Exception e)
     {
         _logger.LogException(e);
         return(false);
     }
 }
コード例 #3
0
        public override DataSourceResult GetMods(DataSourceRequest request)
        {
            var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame();
            var titleQuery         = "";
            var categoryQuery      = "";
            var sortQuery          = "title";
            var filters            = request.GetAllFilterDescriptors();
            var titleFilter        = filters.FirstOrDefault(x => x.Member == "Name");

            if (titleFilter != null)
            {
                titleQuery = titleFilter.Value.ToString();
            }

            var categoryFilter = filters.FirstOrDefault(x => x.Member == "Category");

            if (categoryFilter != null)
            {
                categoryQuery = categoryFilter.Value.ToString();
            }

            var mods = MMods.GetModsForGame(modIoConfiguration.SelectedGameId, titleQuery, request.Page, request.PageSize);

            request.Filters = new List <IFilterDescriptor>();
            var dataSourceResult = mods.Data.ToDataSourceResult(request);

            dataSourceResult.Total = mods.ResultTotal;
            dataSourceResult.Data  = mods.Data;
            return(dataSourceResult);
        }
コード例 #4
0
        public static MGame GetGame(int gameId)
        {
            var restClient = new RestClient(ModIoBrowser.BaseUrl);

            restClient.UseNewtonsoftJson();
            var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame();
            var restRequest        = new RestRequest($"/v1/games/{gameId}");

            restRequest.AddQueryParameter("api_key", modIoConfiguration.ApiKey);

            var restResponse = restClient.Get <MGame>(restRequest);

            return(restResponse.IsSuccessful ? restResponse.Data : null);
        }
コード例 #5
0
        public override GenericMod GetMod(string s, ModSearchType modSearchType)
        {
            var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame();

            return(MMod.GetModForGame(modIoConfiguration.SelectedGameId, int.Parse(s)));
        }