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; } }
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); }
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); }
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; }
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; }
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()); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
/// <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; } }