Worms4Editor/W4Gui/Components/TeamsPanel.cs

128 lines
4.9 KiB
C#

using LibW4M.Data.Teams;
using LibW4M.Data.WeaponFactory;
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;
using W4Gui.Dialogs;
namespace W4Gui.Components
{
public partial class TeamsPanel : UserControl
{
private WeaponData weapon;
private WeaponData weaponCluster;
public TeamsPanel()
{
InitializeComponent();
}
public void SaveTeamData(ref TeamData team)
{
// Load general
team.Name = DataManager.SaveFile.LookupString(this.selName.Text);
team.Skill = (SkillLevel)this.selSkill.SelectedIndex;
team.Player = DataManager.SaveFile.LookupString(this.selPlayerUsername.Text);
team.Worms = DataManager.SaveFile.StringArrayToXomStringArray(selWorms.Items);
// Load apperance
team.Tash = DataManager.SaveFile.LookupString(this.selFace.Text);
team.Flag = DataManager.SaveFile.LookupString(this.selFlag.Text);
team.Glasses = DataManager.SaveFile.LookupString(this.selGlasses.Text);
team.Gloves = DataManager.SaveFile.LookupString(this.selGloves.Text);
team.Hat = DataManager.SaveFile.LookupString(this.selHat.Text);
team.Grave = this.selGrave.Value;
team.Speech = DataManager.SaveFile.LookupString(this.selSpeech.Text);
// Load story flags
team.AllMissionsDone = this.selAllMissionsDone.Checked;
team.AllTutorialsDone = this.selAllTutorialsDone.Checked;
team.NewTeam = this.selNewTeam.Value;
team.InGame = this.selInGame.Checked;
team.StoryChapter = this.selStoryChapter.Value;
team.TutorialsDone = this.selTutorialsDone.Value;
team.StoryMissionsCompleted = this.selStoryMissionsCompleted.Values;
// Load weapon data
team.SWeapon = this.selSWeapon.Value;
team.SecretWeapon = this.weapon;
team.SecretWeaponCluster = this.weaponCluster;
team.CustomWeapon = DataManager.SaveFile.LookupString(this.selTeamWeapName.Text);
}
public void LoadTeamData(TeamData team)
{
// Load general
this.selName.Text = team.Name.Value;
this.selSkill.SelectedIndex = (int)team.Skill;
this.selPlayerUsername.Text = team.Player.Value;
this.selWorms.LoadData(DataManager.SaveFile.XomStringArrayToStringArray(team.Worms));
// Load apperance
this.selFace.Text = team.Tash.Value;
this.selFlag.Text = team.Flag.Value;
this.selGlasses.Text = team.Glasses.Value;
this.selGloves.Text = team.Gloves.Value;
this.selHat.Text = team.Hat.Value;
this.selGrave.Value = team.Grave;
this.selSpeech.Text = team.Speech.Value;
// Load story flags
this.selAllMissionsDone.Checked = team.AllMissionsDone;
this.selAllTutorialsDone.Checked = team.AllTutorialsDone;
this.selNewTeam.Value = team.NewTeam;
this.selInGame.Checked = team.InGame;
this.selStoryChapter.Value = team.StoryChapter;
this.selTutorialsDone.Value = team.TutorialsDone;
this.selStoryMissionsCompleted.LoadItems(team.StoryMissionsCompleted);
// Load weapon data
this.selSWeapon.Value = team.SWeapon;
this.weapon = team.SecretWeapon;
this.weaponCluster = team.SecretWeaponCluster;
this.selTeamWeapName.Text = team.CustomWeapon.Value;
}
private void btnChangeWeapon_Click(object sender, EventArgs e)
{
CollectiveSelectionDialog csd = new CollectiveSelectionDialog(DataManager.SaveFile.WeaponFactoryCollective);
if(csd.ShowDialog() == DialogResult.OK)
{
WeaponStore store = csd.SelectedEntry as WeaponStore;
weapon = store.Weapon;
this.selTeamWeapName.Text = store.Weapon.Name.Value;
}
}
private void btnChangeCluster_Click(object sender, EventArgs e)
{
CollectiveSelectionDialog csd = new CollectiveSelectionDialog(DataManager.SaveFile.WeaponFactoryCollective);
if (csd.ShowDialog() == DialogResult.OK)
{
WeaponStore store = csd.SelectedEntry as WeaponStore;
weaponCluster = store.Cluster;
}
}
private void btnEditWeapon_Click(object sender, EventArgs e)
{
EditWeaponDialog ewd = new EditWeaponDialog(ref weapon);
ewd.ShowDialog();
}
private void brnEditCluster_Click(object sender, EventArgs e)
{
EditWeaponDialog ewd = new EditWeaponDialog(ref weaponCluster);
ewd.ShowDialog();
}
}
}