private void upgradeTreeView1_AfterSelect(object sender, TreeViewEventArgs e) { UpgradeTreeNode node = e.Node as UpgradeTreeNode; if (e.Node != null && node != null) { upgradeName.Text = node.UpgradeName; upgradeDescription.Text = node.UpgradeDescription; splitContainer.Panel2Collapsed = false; } else { splitContainer.Panel2Collapsed = true; } }
public void AddLevels(uint levels, string Description = "") { if (levels == 0) { return; } if (levels > 5) { throw new IndexOutOfRangeException("The maximum number of levels for an upgrade is 5."); } UpgradeTreeNode[] nodes = new UpgradeTreeNode[levels]; if (levels >= 1) { UpgradeTreeNode lvl = new UpgradeTreeNode(Resources.Upgrades.lvl1, UpgradeName + " " + Resources.Upgrades.lvl1, Description); lvl.Tag = "-1"; nodes[0] = lvl; } if (levels >= 2) { UpgradeTreeNode lvl = new UpgradeTreeNode(Resources.Upgrades.lvl2, UpgradeName + " " + Resources.Upgrades.lvl2, Description); lvl.Tag = "-2"; nodes[1] = lvl; nodes[1].Requirements.Add(nodes[0]); } if (levels >= 3) { UpgradeTreeNode lvl = new UpgradeTreeNode(Resources.Upgrades.lvl3, UpgradeName + " " + Resources.Upgrades.lvl3, Description); lvl.Tag = "-3"; nodes[2] = lvl; nodes[2].Requirements.Add(nodes[1]); } if (levels >= 4) { UpgradeTreeNode lvl = new UpgradeTreeNode(Resources.Upgrades.lvl4, UpgradeName + " " + Resources.Upgrades.lvl4, Description); lvl.Tag = "-4"; nodes[3] = lvl; nodes[3].Requirements.Add(nodes[2]); } if (levels == 5) { UpgradeTreeNode lvl = new UpgradeTreeNode(Resources.Upgrades.lvl5, UpgradeName + " " + Resources.Upgrades.lvl5, Description); lvl.Tag = "-5"; nodes[4] = lvl; nodes[4].Requirements.Add(nodes[3]); } AddChildren(nodes); }
public UpgradeTree() { InitializeComponent(); // Core UpgradeTreeNode core_hp = new UpgradeTreeNode( Resources.Upgrades.core_hp_uname, Resources.Upgrades.core_hp_uname); core_hp.AddLevels(5); UpgradeTreeNode core_mana = new UpgradeTreeNode( Resources.Upgrades.core_mana_uname, Resources.Upgrades.core_mana_uname); core_mana.AddLevels(5); UpgradeTreeNode core_speed = new UpgradeTreeNode( Resources.Upgrades.core_speed_uname, Resources.Upgrades.core_speed_uname); core_speed.AddLevels(3); catCore.AddChildren(new UpgradeTreeNode[] { core_hp, core_mana, core_speed }); // Combo UpgradeTreeNode combo = new UpgradeTreeNode( Resources.Upgrades.combo_uname, Resources.Upgrades.combo_uname, Resources.Upgrades.combo_udesc); combo.Tag = ""; UpgradeTreeNode combo_nova = new UpgradeTreeNode( Resources.Upgrades.combo_nova_uname, Resources.Upgrades.combo_uname + " " + Resources.Upgrades.combo_nova_uname, Resources.Upgrades.combo_nova_udesc_1); combo_nova.Tag = "-nova"; combo_nova.AddLevels(5, Resources.Upgrades.combo_nova_udesc_2); combo_nova.Requirements.Add(combo); UpgradeTreeNode combo_heal = new UpgradeTreeNode( Resources.Upgrades.combo_heal_uname, Resources.Upgrades.combo_uname + " " + Resources.Upgrades.combo_heal_uname); combo_heal.Tag = "-heal"; combo_heal.AddLevels(5); combo_heal.Requirements.Add(combo); UpgradeTreeNode combo_time = new UpgradeTreeNode( Resources.Upgrades.combo_time_uname, Resources.Upgrades.combo_uname + " " + Resources.Upgrades.combo_time_uname); combo_time.Tag = "-time"; combo_time.AddLevels(5); combo_time.Requirements.Add(combo); catCombo.Tag = "combo"; catCombo.AddChildren(new UpgradeTreeNode[] { combo, combo_nova, combo_heal, combo_time }); tree.Nodes.Add(catCore); tree.Nodes.Add(catCombo); tree.Nodes.Add(catActive); tree.Nodes.Add(catPassive); tree.AfterCheck += tree_AfterCheck; splitContainer.Panel2Collapsed = true; }
public void AddChild(UpgradeTreeNode Child) { Child._Parent = this; Children.Add(Child); Nodes.Add(Child); }