/// Create a new Unit from multiple AnimatedSprite2Ds /// </summary> /// <param name="Section">List of a List of Rectangles. Each inner list is used to create an AnimatedSprite2D from multiple Sprite2Ds</param> /// <param name="Image">Sprite Sheet</param> /// <param name="SpriteTag">List of a List of Strings. Each inner list is a unique Tag assigned to a Sprite2D</param> /// <param name="Flip">Boolean. Should these images be flipped</param> /// <param name="Tag">Unique Tag</param> /// <param name="ShortTag">Short hand unique Tag</param> public Units(List <List <Rectangle> > Section, Image Image, List <List <string> > SpriteTag, List <bool> Flip, string Tag, string ShortTag) { List <Sprite2D> Sprites = new List <Sprite2D>(); for (int i = 0; i < Section.Count; i++) { for (int j = 0; j < Section[i].Count; j++) { if (Flip[i]) { Sprites.Add(new Sprite2D(Section[i][j], Image, RotateFlipType.RotateNoneFlipX, SpriteTag[i][j], true)); } else { Sprites.Add(new Sprite2D(Section[i][j], Image, SpriteTag[i][j], true)); } } this.Unit_Sprite.Add(new AnimatedSprite2D(Sprites, Tag)); Sprites = new List <Sprite2D>(); } this.Tag = Tag; this.ShortTag = ShortTag; EEngine.RegisterUnit(this); Log.Info($"[UNITS]({Tag}) - Has been registered!"); }
public Units(Vector2 Unit_Position, Vector2 Unit_Scale, List <AnimatedSprite2D> Unit, Effects HealthEffect, string Tag, string ShortTag, bool Register) { this.Unit_Position = Unit_Position; this.Unit_Scale = Unit_Scale; this.Unit_Sprite = Unit; this.Tag = Tag; this.ShortTag = ShortTag; this.Health_Effect = new Effects(GetUnitHealthEffect(Unit_Position), HealthEffect.Scale * 2, HealthEffect.EffectElement, HealthEffect.Tag, HealthEffect.ShortTag, false); if (Register) { EEngine.RegisterUnit(this); Log.Info($"[UNITS]({Tag}) - Has been registered!"); } }