huge commit for advanced stats feature.

broke data out into its own library.
may be breaking changes with existing plugins
This commit is contained in:
RaidMax
2021-03-22 11:09:25 -05:00
parent db2e1deb2f
commit c5375b661b
505 changed files with 13671 additions and 3271 deletions

View File

@ -1,7 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using SharedLibraryCore.Database.Models;
using System.Linq;
using System.Threading.Tasks;
using Data.Models;
namespace WebfrontCore.ViewComponents
{

View File

@ -0,0 +1,42 @@
using System.Linq;
using System.Threading.Tasks;
using IW4MAdmin.Plugins.Stats;
using IW4MAdmin.Plugins.Stats.Config;
using IW4MAdmin.Plugins.Stats.Helpers;
using Microsoft.AspNetCore.Mvc;
using SharedLibraryCore.Interfaces;
namespace WebfrontCore.ViewComponents
{
public class TopPlayersViewComponent : ViewComponent
{
private readonly IConfigurationHandler<StatsConfiguration> _configurationHandler;
public TopPlayersViewComponent(IConfigurationHandler<StatsConfiguration> configurationHandler)
{
_configurationHandler = configurationHandler;
}
public async Task<IViewComponentResult> InvokeAsync(int count, int offset, long? serverId = null)
{
if (serverId == 0)
{
serverId = null;
}
var server = Plugin.ServerManager.GetServers().FirstOrDefault(_server => _server.EndPoint == serverId);
if (server != null)
{
serverId = StatManager.GetIdForServer(server);
}
ViewBag.UseNewStats = _configurationHandler.Configuration().EnableAdvancedMetrics;
return View("~/Views/Client/Statistics/Components/TopPlayers/_List.cshtml",
_configurationHandler.Configuration().EnableAdvancedMetrics
? await Plugin.Manager.GetNewTopStats(offset, count, serverId)
: await Plugin.Manager.GetTopStats(offset, count, serverId));
}
}
}