void undoLabel_Selected(object sender, EventArgs e) { if (unassignedPoints == skillPoints) { return; } string skillName = undoSkill.Peek(); SkillLabelSet set = skillLabels.FirstOrDefault(x => x.Label.Text == skillName); if (set != null) { int.TryParse(set.Value.Text, out int value); if (value == 0) { return; } value--; set.Value.Text = value.ToString(); } undoSkill.Pop(); unassignedPoints++; // Update the skill points for the appropriate skill pointsRemaining.Text = "Skill Points: " + unassignedPoints.ToString(); }
void addSkillLabel_Selected(object sender, EventArgs e) { if (unassignedPoints <= 0) { return; } string skillName = ((LinkLabel)sender).Type; undoSkill.Push(skillName); unassignedPoints--; SkillLabelSet set = skillLabels.FirstOrDefault(x => x.Label.Text == skillName); if (set != null) { int.TryParse(set.Value.Text, out int value); value++; set.Value.Text = value.ToString(); } pointsRemaining.Text = "Skill Points: " + unassignedPoints.ToString(); }