示例#1
0
        public SlotSkill(BinderSkill binderSkill)
            : base()
        {
            Dock = DockStyle.Fill;

            this.binderSkill = binderSkill;
            binderSkill.skillSlot = this;

            generateSlot(binderSkill);
        }
示例#2
0
        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;
 }