56 lines
2.1 KiB
C#
56 lines
2.1 KiB
C#
using GTA;
|
|
using LemonUI.Menus;
|
|
using System.Drawing;
|
|
using System;
|
|
|
|
namespace RageCoop.Client
|
|
{
|
|
internal static class DebugMenu
|
|
{
|
|
public static NativeMenu Menu = new NativeMenu("RAGECOOP", "Debug", "Debug settings")
|
|
{
|
|
UseMouse = false,
|
|
Alignment = Main.Settings.FlipMenu ? GTA.UI.Alignment.Right : GTA.UI.Alignment.Left
|
|
};
|
|
public static NativeMenu DiagnosticMenu = new NativeMenu("RAGECOOP", "Diagnostic", "Performence and Diagnostic")
|
|
{
|
|
UseMouse = false,
|
|
Alignment = Main.Settings.FlipMenu ? GTA.UI.Alignment.Right : GTA.UI.Alignment.Left
|
|
};
|
|
public static NativeItem SimulatedLatencyItem = new NativeItem("Simulated network latency", "Simulated network latency in ms (one way)", "0");
|
|
private static readonly NativeCheckboxItem ShowNetworkInfoItem = new NativeCheckboxItem("Show Network Info", Networking.ShowNetworkInfo);
|
|
|
|
static DebugMenu()
|
|
{
|
|
Menu.Banner.Color = Color.FromArgb(225, 0, 0, 0);
|
|
Menu.Title.Color = Color.FromArgb(255, 165, 0);
|
|
|
|
|
|
DiagnosticMenu.Opening+=(sender, e) =>
|
|
{
|
|
DiagnosticMenu.Clear();
|
|
DiagnosticMenu.Add(new NativeItem("EntityPool", EntityPool.DumpDebug()));
|
|
foreach (var pair in Debug.TimeStamps)
|
|
{
|
|
DiagnosticMenu.Add(new NativeItem(pair.Key.ToString(), pair.Value.ToString(), pair.Value.ToString()));
|
|
}
|
|
};
|
|
SimulatedLatencyItem.Activated+=(s, e) =>
|
|
{
|
|
try
|
|
{
|
|
SimulatedLatencyItem.AltTitle=((Networking.SimulatedLatency=int.Parse(Game.GetUserInput(SimulatedLatencyItem.AltTitle))*0.002f)*500).ToString();
|
|
}
|
|
catch(Exception ex) { Main.Logger.Error(ex); }
|
|
};
|
|
ShowNetworkInfoItem.CheckboxChanged += (s,e) => { Networking.ShowNetworkInfo = ShowNetworkInfoItem.Checked; };
|
|
Menu.Add(SimulatedLatencyItem);
|
|
Menu.Add(ShowNetworkInfoItem);
|
|
Menu.AddSubMenu(DiagnosticMenu);
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|