public Saver() { Console.WriteLine(nameof(ModdedCarSaver) + " booting up"); Tick += OnTick; KeyUp += OnKeyUp; KeyDown += OnKeyDown; VehicleList = IniHelper.LoadIni() ?? new VehicleList() { Vehicles = new System.Collections.Generic.List <VehicleModel>() { new VehicleModel() { VehicleHash = VehicleHash.Zentorno, } } }; myMenu.OnItemSelect += Menu_OnItemSelect; myMenu.OnIndexChange += (sender, newIndex) => highlighted = newIndex; //StyleMenu(); RefreshMenu(); myMenuPool.Add(myMenu); }
private void OnKeyDown(object sender, KeyEventArgs e) { //myMenu.ProcessKey(e.KeyCode); // We are using controls instead of keys, so we comment it out. if (e.KeyCode == VehicleList.OpenMenuKeyCode) // Our menu on/off switch { myMenu.Visible = !myMenu.Visible; } if (e.KeyCode == VehicleList.DeleteCarKeyCode) // Our menu on/off switch { if (myMenu.Visible) { if (highlighted == 0) { Game.Player.LastVehicle.Repair(); } else if (highlighted >= 1) { string carName = VehicleList.Vehicles[highlighted - 1].VehicleHash.ToString(); VehicleList.Vehicles.RemoveAt(highlighted - 1); IniHelper.SaveIni(VehicleList); RefreshMenu(); BigMessageThread.MessageInstance.ShowMissionPassedMessage($"Deleted {carName}", 3000); } } } }
private void SaveVehicle() { var v = Game.Player.LastVehicle; if (v != null) { VehicleModel vehicleModel = VehicleModel.FromVehicle(v); VehicleList.Vehicles.Insert(0, vehicleModel); IniHelper.SaveIni(VehicleList); myMenu.Visible = false; RefreshMenu(); GTA.UI.Notification.Show($"Saved vehicle: { v.DisplayName}.", true); } }