示例#1
0
        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;
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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;
        }
示例#4
0
 public void AddChild(UpgradeTreeNode Child)
 {
     Child._Parent = this;
     Children.Add(Child);
     Nodes.Add(Child);
 }