예제 #1
0
        private void DrawSkill(Graphics g, Battler battler, CustomSkill item, Rectangle skillrect, Point offset)
        {
            if (0 < skillrect.Width)
            {
                var drawrect = new Rectangle(skillrect.X + offset.X, skillrect.Y + offset.Y, skillrect.Width, skillrect.Height);

                var color = GetColor(item);
                LinearGradientBrush gb = new LinearGradientBrush(
                    drawrect, color, Color.White, LinearGradientMode.Horizontal);

                g.FillRectangle(gb, drawrect);
                g.DrawRectangle(Pens.DarkGray, drawrect);
                if (item.darty)
                {
                    var flute = drawrect;
                    flute.Inflate(1, 1);
                    g.DrawRectangle(Pens.DarkGray, flute);
                }

                if (item.name != null && item.Type != SkillType.Attack)
                {
                    var clip = g.ClipBounds;
                    g.SetClip(drawrect);
                    g.DrawString(item.name, this.Font, Brushes.Black, drawrect.X + 1, drawrect.Y + 1);
                    g.SetClip(clip);
                }
            }
        }
예제 #2
0
        public List <Battler> DeSerialize()
        {
            var battlelist = new List <Battler>();

            foreach (var item in blist)
            {
                var avatar  = avatarlist.Find(n => n.aliasName == item.aliasName);
                var battler = new Battler(avatar);
                battlelist.Add(battler);

                foreach (var ssketch in item.skillsketch)
                {
                    var battlerskill = battler.timeline[ssketch.index];
                    if (ssketch.type == battlerskill.Type)
                    {
                        battlerskill.adjustment = ssketch.adjustment;
                    }
                    else
                    {
                        var skill       = avatar.GetSkill(ssketch.type);
                        var insertskill = new CustomSkill(skill, SkillType.Default);
                        insertskill.adjustment = ssketch.adjustment;
                        battler.timeline.Insert(ssketch.index, insertskill);
                    }
                }
            }
            return(battlelist);
        }
예제 #3
0
 private void AddClickPoint(Battler battler, CustomSkill skill, Rectangle skillrect, CustomSkill before)
 {
     if (0 < skillrect.Width)
     {
         clickablepoint.Add(new ClickPoint()
         {
             battler = battler,
             rect    = skillrect,
             skill   = skill,
             before  = before
         });
     }
 }