Mercurial > repos > IBDev-IBBoard.WarFoundry.GUI.WinForms
view FrmNewUnitFromTree.cs @ 207:53d79e1be712
Re #354: Single-button Add Unit
* Start creating new form
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Tue, 16 Aug 2011 21:01:45 +0100 |
parents | |
children | 19a88383dfa7 |
line wrap: on
line source
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using IBBoard.WarFoundry.API.Objects; using IBBoard.WarFoundry.API; namespace IBBoard.WarFoundry.GUI.WinForms { public partial class FrmNewUnitFromTree : Form { public FrmNewUnitFromTree() { InitializeComponent(); WarFoundryCore.ArmyChanged += new ArmyChangedDelegate(ArmyChanged); } private void ArmyChanged(Army newArmy, Army oldArmy) { unitTypeTree.Nodes.Clear(); if (newArmy != null) { BuildTree(newArmy.Race); } } private void BuildTree(Race race) { foreach (Category cat in race.Categories) { UnitType[] unitTypes = race.GetUnitTypes(cat); TreeNode[] unitNodes = new TreeNode[unitTypes.Length]; for (int i = 0; i < unitTypes.Length; i++) { UnitType unitType = unitTypes[i]; TreeNode temp = new TreeNode(unitType.Name); temp.Tag = unitType; unitNodes[i] = temp; } TreeNode catTemp = new TreeNode(cat.Name, unitNodes); catTemp.Tag = cat; unitTypeTree.Nodes.Add(catTemp); catTemp.ExpandAll(); } } } }