Example #1
0
        public void SetOrigin(SpriteOrigin origin)
        {
            switch (origin)
            {
            case SpriteOrigin.TopLeft:
                Origin = new Vector2(0, 0);
                break;

            case SpriteOrigin.Top:
                break;

            case SpriteOrigin.TopRight:
                break;

            case SpriteOrigin.Left:
                break;

            case SpriteOrigin.Center:
                Origin = new Vector2(SourceRectangle.Width / 2, SourceRectangle.Height / 2);
                break;

            case SpriteOrigin.Right:
                break;

            case SpriteOrigin.BottomLeft:
                break;

            case SpriteOrigin.Bottom:
                Origin = new Vector2(SourceRectangle.Width / 2, SourceRectangle.Height);
                break;

            case SpriteOrigin.BottomRight:
                break;
            }
        }
Example #2
0
 public Card(int value, bool flipped, SpriteOrigin origin, KeyValuePair <int, int> position, int width = 0, int height = 0, KeyValuePair <ConsoleColor, char>[,] sprite = null, ConsoleColor background = ConsoleColor.Black) : base(origin, position, width, height, sprite, background)
 {
     Value     = value;
     Flipped   = flipped;
     BlankCard = new ConsoleSprite(origin, position, width, height);
     Program.GetSetSpriteFromFile("../blankcard.consolesprite", ref BlankCard);
 }
Example #3
0
 public override void OnDraw(SpriteBatch sprite, GameTime gameTime)
 {
     if (SpriteSize == Vector2.Zero)
     {
         sprite.Draw(Texture, AbsolutePosition, null, Color, 0, Vector2.Zero, Scale, SpriteEffects.None, 0);
         return;
     }
     sprite.Draw(Texture, AbsolutePosition, new Rectangle(SpriteOrigin.ToPoint(), SpriteSize.ToPoint()), Color, 0, Vector2.Zero, Scale, SpriteEffects.None, 0);
 }
Example #4
0
 public ConsoleSprite(ConsoleSprite sprite)
 {
     origin     = sprite.origin;
     X          = sprite.X;
     Y          = sprite.Y;
     Width      = sprite.Width;
     Height     = sprite.Height;
     Sprite     = sprite.Sprite;
     Background = sprite.Background;
 }
Example #5
0
 public ConsoleSprite(SpriteOrigin origin, KeyValuePair <int, int> position, int width = 0, int height = 0, KeyValuePair <ConsoleColor, char>[,] sprite = null, ConsoleColor background = ConsoleColor.Black)
 {
     this.origin = origin;
     X           = position.Key;
     Y           = position.Value;
     Width       = width;
     Height      = height;
     Sprite      = sprite;
     Background  = background;
 }
 public SpriteTransformation(int index, SpriteEffects effect = SpriteEffects.None, double rotation = 0,
     Color? color = null, float scale = 1, SpriteOrigin origin = SpriteOrigin.Bottom)
 {
     Index = index;
     Effect = effect;
     Rotation = (float)rotation;
     Color = color ?? Color.White;
     Scale = scale;
     Origin = origin;
 }
Example #7
0
        public float Distance(ISprite toSprite, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = toSprite.Center - this.Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = toSprite.Position - this.Position;
            }
            else
            {
                distance = toSprite.Origin - this.Origin;
            }

            return(distance.Length());
        }
Example #8
0
        public bool IsColliding(Vector2 vector, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = vector - this.Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = vector - this.Position;
            }
            else
            {
                distance = vector - this.Origin;
            }

            return(distance.Length() < this.collisionRange);
        }
Example #9
0
        public bool IsColliding(ISprite collisionObject, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = collisionObject.Center - this.Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = collisionObject.Position - this.Position;
            }
            else
            {
                distance = collisionObject.Origin - this.Origin;
            }

            return(distance.Length() < collisionObject.CollisionRange + this.collisionRange);
        }
Example #10
0
        public bool InCombatRange(ISprite target, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = target.Center - this.Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = target.Position - this.Position;
            }
            else
            {
                distance = target.Origin - this.Origin;
            }

            return(distance.Length() < this.combatRange);
        }
Example #11
0
        public bool InInteractionRange(ISprite interactableObject, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = interactableObject.Center - this.Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = interactableObject.Position - this.Position;
            }
            else
            {
                distance = interactableObject.Origin - this.Origin;
            }

            return(distance.Length() < interactableObject.InteractionRange);
        }
Example #12
0
        public bool InDrawRange(ISprite drawObject, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = drawObject.Center - Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = drawObject.Position - Position;
            }
            else
            {
                distance = drawObject.Origin - Origin;
            }

            return(distance.Length() < this.drawRange);
        }
Example #13
0
        public bool InShadowRange(Hull hull, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = hull.Position - Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = hull.Position - Position;
            }
            else
            {
                distance = hull.Position - Origin;
            }

            return(distance.Length() < this.lightingRange);
        }
Example #14
0
        public bool InLightingRange(Light light, SpriteOrigin so = SpriteOrigin.SpriteCenter)
        {
            Vector2 distance;

            if (so == SpriteOrigin.SpriteCenter)
            {
                distance = light.Position - Center;
            }
            else if (so == SpriteOrigin.SpritePosition)
            {
                distance = light.Position - Position;
            }
            else
            {
                distance = light.Position - Origin;
            }

            return(distance.Length() < this.lightingRange);
        }
Example #15
0
        /// <summary>
        /// Change the origin of the object. Note that when initializing the object origin
        /// with this method, the origin point will be computed once. If you change the object's
        /// bounds afterwards, old origin will be kept as is and may not reflect the initially wanted
        /// origin point.
        /// </summary>
        /// <param name="spriteOrigin">Determinated point of origin</param>
        public void SetOrigin(SpriteOrigin spriteOrigin)
        {
            switch (spriteOrigin)
            {
            case SpriteOrigin.TopLeft: _origin = Vector2.Zero; break;

            case SpriteOrigin.Top: _origin = new Vector2(ScaledWidth / 2, 0); break;

            case SpriteOrigin.TopRight: _origin = new Vector2(ScaledWidth, 0); break;

            case SpriteOrigin.Left: _origin = new Vector2(0, ScaledHeight / 2); break;

            case SpriteOrigin.Center: _origin = new Vector2(ScaledWidth / 2, ScaledHeight / 2); break;

            case SpriteOrigin.Right: _origin = new Vector2(ScaledWidth, ScaledHeight / 2); break;

            case SpriteOrigin.BottomLeft: _origin = new Vector2(0, ScaledHeight); break;

            case SpriteOrigin.Bottom: _origin = new Vector2(ScaledWidth / 2, ScaledHeight); break;

            case SpriteOrigin.BottomRight: _origin = new Vector2(ScaledWidth, ScaledHeight); break;
            }
        }
Example #16
0
 /// <summary>
 /// Change the origin of the object. Note that when initializing the object origin
 /// with this method, the origin point will be computed once. If you change the object's
 /// bounds afterwards, old origin will be kept as is and may not reflect the initially wanted 
 /// origin point.
 /// </summary>
 /// <param name="spriteOrigin">Determinated point of origin</param>
 public void SetOrigin(SpriteOrigin spriteOrigin)
 {
     switch (spriteOrigin)
     {
         case SpriteOrigin.TopLeft: _origin = Vector2.Zero; break;
         case SpriteOrigin.Top: _origin = new Vector2(ScaledWidth / 2, 0); break;
         case SpriteOrigin.TopRight: _origin = new Vector2(ScaledWidth, 0); break;
         case SpriteOrigin.Left: _origin = new Vector2(0, ScaledHeight / 2); break;
         case SpriteOrigin.Center: _origin = new Vector2(ScaledWidth / 2, ScaledHeight / 2); break;
         case SpriteOrigin.Right: _origin = new Vector2(ScaledWidth, ScaledHeight / 2); break;
         case SpriteOrigin.BottomLeft: _origin = new Vector2(0, ScaledHeight); break;
         case SpriteOrigin.Bottom: _origin = new Vector2(ScaledWidth / 2, ScaledHeight); break;
         case SpriteOrigin.BottomRight: _origin = new Vector2(ScaledWidth, ScaledHeight); break;
     }
 }