86 lines
2.8 KiB
C#
86 lines
2.8 KiB
C#
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<InputMappingData> 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<InputMappingData>();
|
|
}
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|
|
}
|