Beispiel #1
0
        /// 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!");
        }
Beispiel #2
0
        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!");
            }
        }