public SlotSkill(BinderSkill binderSkill) : base() { Dock = DockStyle.Fill; this.binderSkill = binderSkill; binderSkill.skillSlot = this; generateSlot(binderSkill); }
public void generateSlot(BinderSkill binderSkill) { BackColor = System.Drawing.Color.DeepSkyBlue; Width = 250; Height = 80; Label name = new Label(); name.BackColor = System.Drawing.Color.DarkRed; name.Text = binderSkill.name; name.AutoSize = true; Controls.Add(name); int min = 1; if (binderSkill.type == SkillType.Perk) { min = 0; } TextBoxLevel levelBox = new TextBoxLevel(binderSkill.level, min, binderSkill.maxLevelUnlocked, binderSkill); LabeledBox labeledLevelBox = new LabeledBox("Level", levelBox); Controls.Add(labeledLevelBox); if (binderSkill.requirements != null) { string skill; int level; if (binderSkill.getNextRequirement(out skill, out level)) { Label requirement = new Label(); requirement.Text = "Required for next level: " + skill + " level " + level; requirement.AutoSize = true; Controls.Add(requirement); } else { Label placeholder = new Label(); Controls.Add(placeholder); } } else if (binderSkill.type != SkillType.Perk) { TextBoxInt expToNextLevelBox = new TextBoxInt(binderSkill.expToNextLevel, 0, binderSkill.expToLevel); LabeledBox labeledExpToNextLevelBox = new LabeledBox("Exp to next level", expToNextLevelBox); Controls.Add(labeledExpToNextLevelBox); } }
private void setUpSkills(Dictionary<int, Skill> skillDictionary) { foreach (DataSkill dataSkill in DataSkill.skillList) { BinderSkill binderSkill = new BinderSkill(dataSkill, this, playerListeners); skillList.Add(binderSkill); } foreach (KeyValuePair<int, Skill> entry in skillDictionary) { BinderSkill binderSkill = getBinderSkillById(entry.Key); binderSkill.updateSkill(entry.Value); } foreach (BinderSkill binderSkill in skillList) { if (binderSkill.requirements != null) { binderSkill.generateListeners(); binderSkill.update(); } } }
public TextBoxLevel(Value<int> value, int min, Value<int> max, BinderSkill binderSkill) : base(value, min, max.get()) { this.binderSkill = binderSkill; this.max = max; }