using LibW4M.Data.Highscores; using LibW4M.Data.InputMapping; using LibW4M.Data.Stats; using LibW4M.Data.Teams; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace W4Gui.Tabs.OtherTabs { public partial class InputMappingsTab : UserControl { private List mappingData; public InputMappingData[] MappingDataArray { get { return mappingData.ToArray(); } } public InputMappingsTab() { InitializeComponent(); this.inputMappingsList.List.Selected += inputMappingsList_Selected; this.inputMappingsList.List.Unselected += inputMappingsList_Unselected; this.mappingData = new List(); } public void SaveData() { if (this.inputMappingsList.List.IsItemSelected) inputMappingsList_Unselected(null, null); } public void LoadData(ref InputMappingData[] data) { this.inputMappingsList.List.LoadArray(data); this.mappingData.Clear(); inputMappingsPanel.Enabled = false; mappingData.AddRange(data); } private void inputMappingsList_Unselected(object? sender, EventArgs? e) { InputMappingData inputMappingsData = mappingData[inputMappingsList.List.LastSelected] as InputMappingData; inputMappingsPanel.SaveInputMappingsData(ref inputMappingsData); inputMappingsList.List.UpdateName(inputMappingsList.List.LastSelected, inputMappingsData.FriendlyName); } private void inputMappingsList_Selected(object? sender, EventArgs e) { InputMappingData inputMappingsData = mappingData[inputMappingsList.List.CurrentlySelected] as InputMappingData; inputMappingsPanel.LoadInputMappingsData(inputMappingsData); inputMappingsPanel.Enabled = true; } private void inputMappingsList_NewButton(object sender, EventArgs e) { InputMappingData mapping = new InputMappingData(DataManager.SaveFile, DataManager.SaveFile.CreateContainer("InputDetailsContainer"), false); this.mappingData.Add(mapping); this.inputMappingsList.List.Add(mapping.FriendlyName); } private void inputMappingsList_DelButton(object sender, EventArgs e) { int sel = inputMappingsList.List.CurrentlySelected; InputMappingData inputMappingsData = mappingData[sel] as InputMappingData; mappingData.RemoveAt(sel); inputMappingsList.List.Delete(sel); inputMappingsData.DeleteEntries(); } } }