Example #1
0
        private void LevelsTabControl_SelectedIndexChanged(object sender, EventArgs e)
        {
            var ind = LevelsTabControl.SelectedIndex;

            if (ind == -1)
            {
                return;
            }
            ActiveGroup    = null;
            ActiveGroupInd = -1;
            ActiveSub      = null;
            if (ind < LevelTabStart)
            {
                ActiveLevel = null;
                if (LevelsTabControl.SelectedTab == GroupPage)
                {
                    UpdateTuningEntries(false, false);
                    RenderGroups();
                }
            }
            else if (ind == LevelsTabControl.TabPages.Count - 1 && LevelsTabControl.TabPages.Count > LevelTabStart)
            {
                AddUpgrade();
            }
            else
            {
                ActiveLevel = ActiveUpgrades.Upgrades[ind - LevelTabStart];
            }
            UpdateSubsList();
        }
Example #2
0
 private void AddSubButton_Click(object sender, EventArgs e)
 {
     if (GroupsTabActive)
     {
         if (ActiveGroup != null)
         {
             ActiveGroup.Tuning.Add("0:0");
             RenderGroups();
         }
     }
     else
     {
         var newSub = new UpgradeSubstitution();
         if (ActiveLevel == null)
         {
             ActiveUpgrades.Subs.Add(newSub);
         }
         else
         {
             ActiveLevel.Subs.Add(newSub);
         }
         UpdateSubsList();
     }
     UpdateFile();
 }
Example #3
0
        private void UpgradeSubList_SelectedIndexChanged(object sender, EventArgs e)
        {
            var item = UpgradeSubList.SelectedItem;

            ActiveSub = (item as SubEntry)?.Sub;
            RenderSub();
        }
Example #4
0
        private void AddSubButton_Click(object sender, EventArgs e)
        {
            var newSub = new UpgradeSubstitution();

            if (ActiveLevel == null)
            {
                ActiveUpgrades.Subs.Add(newSub);
            }
            else
            {
                ActiveLevel.Subs.Add(newSub);
            }
            UpdateSubsList();
            UpdateFile();
        }
        public static List <UpgradeSubstitution> GroupsIntoSubs(List <UpgradeGroup> groups, List <UpgradeSubstitution> subs)
        {
            var groupSubs     = subs.Where(x => x.Old.Length > 0 && x.Old[0] == 'G');
            var defaultGroups = groups.Where(x => x.DefaultValue != null);

            if (groupSubs.Count() == 0 && defaultGroups.Count() == 0)
            {
                return(subs);
            }
            var result = subs.Where(x => x.Old.Length == 0 || x.Old[0] != 'G').ToList();
            //add defaults at beginning
            var defaultInd = 0;

            foreach (var group in defaultGroups)
            {
                foreach (var target in group.Tuning)
                {
                    var sub = new UpgradeSubstitution()
                    {
                        Old = target,
                        New = group.DefaultValue
                    };
                    result.Insert(defaultInd++, sub);
                }
            }
            //add group targeted upgrade subs at end (overwrite defaults when building into a table)
            foreach (var entry in groupSubs)
            {
                int groupID;
                if (!int.TryParse(entry.Old.Substring(1), out groupID) || groupID < 0 || groupID >= groups.Count)
                {
                    //invalid group - just ignore for now
                    continue;
                }
                var group = groups[groupID];
                //create subs for each entry in the group
                foreach (var target in group.Tuning)
                {
                    result.Add(new UpgradeSubstitution()
                    {
                        Old = target,
                        New = entry.New
                    });
                }
            }
            return(result);
        }
Example #6
0
        private void UpdateSubsList()
        {
            ActiveSub = null;
            RenderSub();
            if (ActiveLevel == null)
            {
                RenderSubs(ConstantSubList, ActiveUpgrades.Subs);
            }
            else
            {
                UpgradeContainer.Parent    = LevelsTabControl.SelectedTab;
                UpgradeContainer.BackColor = Color.White;

                int parsedLevelName;
                if (int.TryParse(ActiveLevel.Name, out parsedLevelName))
                {
                    UpgradeNameText.SelectedIndex = parsedLevelName;
                }
                else
                {
                    UpgradeNameText.Text = ActiveLevel.Name;
                }

                DescriptionText.Text = ActiveLevel.Description;
                AdText.Text          = ActiveLevel.Ad;

                var literal = ActiveLevel.Price[0] == 'R' || ActiveLevel.Price[0] == '$';
                if (literal)
                {
                    PriceValueRadio.Checked = true;
                    UpgradeValue.Value      = int.Parse(ActiveLevel.Price.Substring(1));
                    RelativeCheck.Checked   = ActiveLevel.Price[0] == 'R';
                }
                else
                {
                    PriceObjectRadio.Checked = true;
                }
                UpdatePriceObject();

                RenderSubs(UpgradeSubList, ActiveLevel.Subs);
            }
        }