public void UpdatePolygon() { switch (this.SpellData.Type) { case SkillShotType.SkillshotCircle: this.Polygon = this.Circle.ToPolygon(); this.DrawingPolygon = this.Circle.ToPolygon( 0, !this.SpellData.AddHitbox ? this.SpellData.Radius : this.SpellData.Radius - Program.Player.BoundingRadius); this.EvadePolygon = this.Circle.ToPolygon(Config.ExtraEvadeDistance); break; case SkillShotType.SkillshotLine: this.Polygon = this.Rectangle.ToPolygon(); this.DrawingPolygon = this.Rectangle.ToPolygon( 0, !this.SpellData.AddHitbox ? this.SpellData.Radius : this.SpellData.Radius - Program.Player.BoundingRadius); this.EvadePolygon = this.Rectangle.ToPolygon(Config.ExtraEvadeDistance); break; case SkillShotType.SkillshotMissileLine: this.Polygon = this.Rectangle.ToPolygon(); this.DrawingPolygon = this.Rectangle.ToPolygon( 0, !this.SpellData.AddHitbox ? this.SpellData.Radius : this.SpellData.Radius - Program.Player.BoundingRadius); this.EvadePolygon = this.Rectangle.ToPolygon(Config.ExtraEvadeDistance); break; case SkillShotType.SkillshotCone: this.Polygon = this.Sector.ToPolygon(); this.DrawingPolygon = this.Polygon; this.EvadePolygon = this.Sector.ToPolygon(Config.ExtraEvadeDistance); break; case SkillShotType.SkillshotRing: this.Polygon = this.Ring.ToPolygon(); this.DrawingPolygon = this.Polygon; this.EvadePolygon = this.Ring.ToPolygon(Config.ExtraEvadeDistance); break; case SkillShotType.SkillshotArc: this.Polygon = this.Arc.ToPolygon(); this.DrawingPolygon = this.Polygon; this.EvadePolygon = this.Arc.ToPolygon(Config.ExtraEvadeDistance); break; } }