Ejemplo n.º 1
0
        public void Draw(SpriteBatch spriteBatch, Vector2 startPoint, Vector2 destination)
        {
            if (TexturePath == null || TexturePath == "")
            {
                return;
            }

            Texture2D texture = TBAR.Instance.GetTexture(TexturePath);

            if (AltTexturePath != "" && AltTexturePath != null && UseAltTexture)
            {
                texture = TBAR.Instance.GetTexture(AltTexturePath);
            }

            int textureOffset = IsFlipped ? 1 : 0;

            Vector2 origin = new Vector2(texture.Width / 2, texture.Height / 4);

            Rectangle sourceRect = new Rectangle(0, (int)(texture.Height * 0.5f) * textureOffset, (int)texture.Width, (int)texture.Height / 2);

            spriteBatch.Draw(texture, startPoint + RelativePosition.RotatedBy(destination.ToRotation()) - Main.screenPosition, sourceRect, Color.White * Opacity, destination.ToRotation(), origin, 1.1f, SpriteEffects.FlipHorizontally, 1f);
        }
Ejemplo n.º 2
0
 /// <summary>Rotates the orbital relative to the player by the given amount.</summary>
 public void RotatePosition(float radians)
 {
     SetPosition(RelativePosition.RotatedBy(radians));
 }