Refactor player validation in WasdManager methods
This commit is contained in:
parent
f2b9cec14c
commit
6805eaa746
2 changed files with 20 additions and 21 deletions
|
|
@ -7,37 +7,32 @@ public class WasdManager : IWasdMenuManager
|
||||||
{
|
{
|
||||||
public void OpenMainMenu(CCSPlayerController? player, IWasdMenu? menu)
|
public void OpenMainMenu(CCSPlayerController? player, IWasdMenu? menu)
|
||||||
{
|
{
|
||||||
if(player == null)
|
if(!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.OpenMainMenu((WasdMenu?)menu);
|
||||||
WASDMenuAPI.Players[player.SteamID].OpenMainMenu((WasdMenu?)menu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseMenu(CCSPlayerController? player)
|
public void CloseMenu(CCSPlayerController? player)
|
||||||
{
|
{
|
||||||
if(player == null)
|
if (!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.OpenMainMenu(null);
|
||||||
WASDMenuAPI.Players[player.SteamID].OpenMainMenu(null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseSubMenu(CCSPlayerController? player)
|
public void CloseSubMenu(CCSPlayerController? player)
|
||||||
{
|
{
|
||||||
if(player == null)
|
if (!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.CloseSubMenu();
|
||||||
WASDMenuAPI.Players[player.SteamID].CloseSubMenu();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CloseAllSubMenus(CCSPlayerController? player)
|
public void CloseAllSubMenus(CCSPlayerController? player)
|
||||||
{
|
{
|
||||||
if(player == null)
|
if (!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.CloseAllSubMenus();
|
||||||
WASDMenuAPI.Players[player.SteamID].CloseAllSubMenus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OpenSubMenu(CCSPlayerController? player, IWasdMenu? menu)
|
public void OpenSubMenu(CCSPlayerController? player, IWasdMenu? menu)
|
||||||
{
|
{
|
||||||
if (player == null)
|
if (!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.OpenSubMenu(menu);
|
||||||
WASDMenuAPI.Players[player.SteamID].OpenSubMenu(menu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IWasdMenu CreateMenu(string title = "", string controlText = "")
|
public IWasdMenu CreateMenu(string title = "", string controlText = "")
|
||||||
|
|
@ -52,15 +47,19 @@ public class WasdManager : IWasdMenuManager
|
||||||
|
|
||||||
public bool HasMenu(CCSPlayerController? player)
|
public bool HasMenu(CCSPlayerController? player)
|
||||||
{
|
{
|
||||||
if (player == null)
|
return TryGetPlayer(player, out _);
|
||||||
return false;
|
|
||||||
return WASDMenuAPI.Players.ContainsKey(player.SteamID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateActiveMenu(CCSPlayerController? player, Dictionary<string, Action<CCSPlayerController, IWasdMenuOption>> list)
|
public void UpdateActiveMenu(CCSPlayerController? player, Dictionary<string, Action<CCSPlayerController, IWasdMenuOption>> list)
|
||||||
{
|
{
|
||||||
if (player == null)
|
if (!TryGetPlayer(player, out var menuPlayer)) return;
|
||||||
return;
|
menuPlayer.UpdateActiveMenu(list);
|
||||||
WASDMenuAPI.Players[player.SteamID].UpdateActiveMenu(list);
|
}
|
||||||
|
|
||||||
|
private bool TryGetPlayer(CCSPlayerController? player, out WasdMenuPlayer menuPlayer)
|
||||||
|
{
|
||||||
|
menuPlayer = null!;
|
||||||
|
if (player == null || !player.IsValid || player.IsBot || player.SteamID == 0) return false;
|
||||||
|
return WASDMenuAPI.Players.TryGetValue(player.SteamID, out menuPlayer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue