Files
RAGECOOP-V/RageCoop.Client/Menus/Sub/DevToolMenu.cs

85 lines
3.0 KiB
C#
Raw Normal View History

2022-07-20 17:50:01 +08:00
using GTA;
using LemonUI.Menus;
2022-07-20 17:50:01 +08:00
using System;
using System.Drawing;
namespace RageCoop.Client
{
internal static class DevToolMenu
{
public static NativeMenu Menu = new NativeMenu("RAGECOOP", "DevTool", "Help with the development")
{
UseMouse = false,
Alignment = Main.Settings.FlipMenu ? GTA.UI.Alignment.Right : GTA.UI.Alignment.Left
};
2022-09-06 21:46:35 +08:00
private static readonly NativeCheckboxItem enableItem = new NativeCheckboxItem("Enable");
2022-09-06 21:46:35 +08:00
private static readonly NativeCheckboxItem enableSecondaryItem = new NativeCheckboxItem("Secondary", "Enable if this vehicle have two muzzles");
public static NativeItem boneIndexItem = new NativeItem("Current bone index");
public static NativeItem secondaryBoneIndexItem = new NativeItem("Secondary bone index");
public static NativeItem clipboardItem = new NativeItem("Copy to clipboard");
public static NativeListItem<MuzzleDir> dirItem = new NativeListItem<MuzzleDir>("Direction");
static DevToolMenu()
{
Menu.Banner.Color = Color.FromArgb(225, 0, 0, 0);
Menu.Title.Color = Color.FromArgb(255, 165, 0);
2022-09-06 21:46:35 +08:00
enableItem.Activated += enableItem_Activated;
enableItem.Checked = false;
enableSecondaryItem.CheckboxChanged += EnableSecondaryItem_Changed;
2022-09-06 21:46:35 +08:00
secondaryBoneIndexItem.Enabled = false;
clipboardItem.Activated += ClipboardItem_Activated;
dirItem.ItemChanged += DirItem_ItemChanged;
foreach (var d in Enum.GetValues(typeof(MuzzleDir)))
{
dirItem.Items.Add((MuzzleDir)d);
}
2022-09-06 21:46:35 +08:00
dirItem.SelectedIndex = 0;
Menu.Add(enableItem);
Menu.Add(boneIndexItem);
Menu.Add(enableSecondaryItem);
Menu.Add(secondaryBoneIndexItem);
Menu.Add(dirItem);
Menu.Add(clipboardItem);
}
private static void EnableSecondaryItem_Changed(object sender, EventArgs e)
{
if (enableSecondaryItem.Checked)
{
2022-09-06 21:46:35 +08:00
DevTool.UseSecondary = true;
secondaryBoneIndexItem.Enabled = true;
}
else
{
2022-09-06 21:46:35 +08:00
DevTool.UseSecondary = false;
secondaryBoneIndexItem.Enabled = false;
}
}
private static void DirItem_ItemChanged(object sender, ItemChangedEventArgs<MuzzleDir> e)
{
2022-09-06 21:46:35 +08:00
DevTool.Direction = dirItem.SelectedItem;
}
private static void ClipboardItem_Activated(object sender, EventArgs e)
{
DevTool.CopyToClipboard(dirItem.SelectedItem);
}
private static void enableItem_Activated(object sender, EventArgs e)
{
if (enableItem.Checked)
{
2022-09-06 21:46:35 +08:00
DevTool.ToMark = Game.Player.Character.CurrentVehicle;
}
else
{
2022-09-06 21:46:35 +08:00
DevTool.ToMark = null;
}
}
}
}