mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-11 23:58:08 -05:00
migrated to ASP.Net Core
This commit is contained in:
36
WebfrontCore/ViewComponents/ServerListViewComponent.cs
Normal file
36
WebfrontCore/ViewComponents/ServerListViewComponent.cs
Normal file
@ -0,0 +1,36 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SharedLibrary.Dtos;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace WebfrontCore.ViewComponents
|
||||
{
|
||||
public class ServerListViewComponent : ViewComponent
|
||||
{
|
||||
public IViewComponentResult Invoke()
|
||||
{
|
||||
var servers = IW4MAdmin.Program.ServerManager.GetServers();
|
||||
var serverInfo = servers.Select(s => new ServerInfo()
|
||||
{
|
||||
Name = s.Hostname,
|
||||
ID = s.GetHashCode(),
|
||||
Port = s.GetPort(),
|
||||
Map = s.CurrentMap.Alias,
|
||||
ClientCount = s.ClientNum,
|
||||
MaxClients = s.MaxClients,
|
||||
GameType = s.Gametype,
|
||||
PlayerHistory = s.PlayerHistory.ToArray(),
|
||||
Players = s.Players.Where(p => p != null)
|
||||
.Select(p => new PlayerInfo()
|
||||
{
|
||||
Name = p.Name,
|
||||
ClientId = p.ClientId
|
||||
}).ToList(),
|
||||
ChatHistory = s.ChatHistory
|
||||
}).ToList();
|
||||
return View("_List", serverInfo);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user