void RemoveSkillPoint(DFCareer.Skills skill, LeftRightSpinner spinner) { // Working skill value cannot fall below rolled skill value int workingValue = workingSkills.GetSkillValue(skill); if (workingValue == startingSkills.GetSkillValue(skill)) { return; } // Remove a point from skill and assign to pool spinner.Value += 1; workingSkills.SetSkillValue(skill, (short)(workingValue - 1)); UpdateSkillValueLabels(); }
void AddSkillPoint(DFCareer.Skills skill, LeftRightSpinner spinner) { // Bonus point pool cannot fall below zero int workingValue = workingSkills.GetSkillValue(skill); if (spinner.Value == 0) { return; } // Remove a point from pool and assign to skill spinner.Value -= 1; workingSkills.SetSkillValue(skill, (short)(workingValue + 1)); UpdateSkillValueLabels(); }
void SetupControls() { // Add primary skill labels Vector2 skillLabelPos = new Vector2(68, 32); Vector2 skillValueLabelPos = new Vector2(187, 32); Vector2 skillSelectButtonSize = new Vector2(106, 7); for (int i = 0; i < DaggerfallSkills.PrimarySkillsCount; i++) { primarySkillLabels[i] = DaggerfallUI.AddTextLabel(font, skillLabelPos, string.Empty, this); primarySkillLabels[i].Tag = i; primarySkillLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; Button button = DaggerfallUI.AddButton(skillLabelPos, skillSelectButtonSize, this); button.Tag = i; button.OnMouseClick += PrimarySkills_OnMouseClick; primarySkillValueLabels[i] = DaggerfallUI.AddTextLabel(font, skillValueLabelPos, string.Empty, this); primarySkillValueLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; skillLabelPos.y += 10; skillValueLabelPos.y += 10; } // Add major skill labels skillLabelPos = new Vector2(68, 81); skillValueLabelPos = new Vector2(187, 81); for (int i = 0; i < DaggerfallSkills.MajorSkillsCount; i++) { majorSkillLabels[i] = DaggerfallUI.AddTextLabel(font, skillLabelPos, string.Empty, this); majorSkillLabels[i].Tag = i; majorSkillLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; Button button = DaggerfallUI.AddButton(skillLabelPos, skillSelectButtonSize, this); button.Tag = i; button.OnMouseClick += MajorSkills_OnMouseClick; majorSkillValueLabels[i] = DaggerfallUI.AddTextLabel(font, skillValueLabelPos, string.Empty, this); majorSkillValueLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; skillLabelPos.y += 10; skillValueLabelPos.y += 10; } // Add minor skill labels skillLabelPos = new Vector2(68, 130); skillValueLabelPos = new Vector2(187, 130); for (int i = 0; i < DaggerfallSkills.MinorSkillsCount; i++) { minorSkillLabels[i] = DaggerfallUI.AddTextLabel(font, skillLabelPos, string.Empty, this); minorSkillLabels[i].Tag = i; minorSkillLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; Button button = DaggerfallUI.AddButton(skillLabelPos, skillSelectButtonSize, this); button.Tag = i; button.OnMouseClick += MinorSkills_OnMouseClick; minorSkillValueLabels[i] = DaggerfallUI.AddTextLabel(font, skillValueLabelPos, string.Empty, this); minorSkillValueLabels[i].ShadowColor = DaggerfallUI.DaggerfallAlternateShadowColor1; skillLabelPos.y += 10; skillValueLabelPos.y += 10; } // Add primary skill spinner primarySkillSpinner = new LeftRightSpinner(); this.Components.Add(primarySkillSpinner); primarySkillSpinner.OnLeftButtonClicked += PrimarySkillSpinner_OnLeftButtonClicked; primarySkillSpinner.OnRightButtonClicked += PrimarySkillSpinner_OnRightButtonClicked; primarySkillSpinner.Value = bonusPoolPerSkillGroup; SelectPrimarySkill(0); // Add major skill spinner majorSkillSpinner = new LeftRightSpinner(); this.Components.Add(majorSkillSpinner); majorSkillSpinner.OnLeftButtonClicked += MajorSkillSpinner_OnLeftButtonClicked; majorSkillSpinner.OnRightButtonClicked += MajorSkillSpinner_OnRightButtonClicked; majorSkillSpinner.Value = bonusPoolPerSkillGroup; SelectMajorSkill(0); // Add minor skill spinner minorSkillSpinner = new LeftRightSpinner(); this.Components.Add(minorSkillSpinner); minorSkillSpinner.OnLeftButtonClicked += MinorSkillSpinner_OnLeftButtonClicked; minorSkillSpinner.OnRightButtonClicked += MinorSkillSpinner_OnRightButtonClicked; minorSkillSpinner.Value = bonusPoolPerSkillGroup; SelectMinorSkill(0); }
void RemoveSkillPoint(DFCareer.Skills skill, LeftRightSpinner spinner) { // Working skill value cannot fall below rolled skill value int workingValue = workingSkills.GetSkillValue(skill); if (workingValue == startingSkills.GetSkillValue(skill)) return; // Remove a point from skill and assign to pool spinner.Value += 1; workingSkills.SetSkillValue(skill, (short)(workingValue - 1)); UpdateSkillValueLabels(); }
void AddSkillPoint(DFCareer.Skills skill, LeftRightSpinner spinner) { // Bonus point pool cannot fall below zero int workingValue = workingSkills.GetSkillValue(skill); if (spinner.Value == 0) return; // Remove a point from pool and assign to skill spinner.Value -= 1; workingSkills.SetSkillValue(skill, (short)(workingValue + 1)); UpdateSkillValueLabels(); }