Worms4Editor/W4Gui/Tabs/StatsTab/TeamStatisticsTab.cs

68 lines
2.5 KiB
C#

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.StatsTab
{
public partial class TeamStatisticsTab : TabEntry
{
public TeamStatisticsTab()
{
InitializeComponent();
this.teamStatisticsList.List.Selected += teamStatistics_Selected;
this.teamStatisticsList.List.Unselected += teamStatistics_Unselected;
}
public override void SaveFromControl()
{
if (this.teamStatisticsList.List.IsItemSelected)
teamStatistics_Unselected(null, null);
}
public override void LoadIntoControl()
{
this.teamStatisticsList.List.LoadCollective(DataManager.SaveFile.TeamStatsCollective);
teamStatisticsPanel.Enabled = false;
}
private void teamStatistics_Unselected(object? sender, EventArgs e)
{
StatsContainerData statsData = DataManager.SaveFile.TeamStatsCollective[teamStatisticsList.List.LastSelected] as StatsContainerData;
teamStatisticsPanel.SaveStatsData(ref statsData);
teamStatisticsList.List.UpdateName(teamStatisticsList.List.LastSelected, statsData.FriendlyName);
}
private void teamStatistics_Selected(object? sender, EventArgs e)
{
StatsContainerData statsData = DataManager.SaveFile.TeamStatsCollective[teamStatisticsList.List.CurrentlySelected] as StatsContainerData;
teamStatisticsPanel.LoadStatsData(statsData);
teamStatisticsPanel.Enabled = true;
}
private void teamStatisticsList_NewButton(object sender, EventArgs e)
{
DataManager.SaveFile.TeamStatsCollective.Create();
teamStatisticsList.List.Add(DataManager.SaveFile.TeamStatsCollective.Last().FriendlyName);
teamStatisticsList.List.SelectedIndex = (teamStatisticsList.List.Items.Count - 1);
}
private void teamStatisticsList_DelButton(object sender, EventArgs e)
{
int sel = teamStatisticsList.List.CurrentlySelected;
StatsContainerData statsData = DataManager.SaveFile.TeamStatsCollective[sel] as StatsContainerData;
DataManager.SaveFile.TeamStatsCollective.Delete(statsData);
teamStatisticsList.List.Delete(sel);
}
}
}