public virtual void DrawShadow(Renderer renderer) { if (!RenderShadow || !Visible) { return; } Vector2 shadowPosition = Position; Vector2 shadowScale = new Vector2(1.5f); if (Skeleton != null) { if (ShadowFollowBone != null) { shadowPosition.X = ShadowFollowBone.WorldX; shadowScale += new Vector2(ShadowFollowBone.WorldY - Skeleton.RootBone.WorldY) / 400.0f; } } else if (Sprite != null) { shadowScale *= (Sprite.Data.Width * Sprite.TextureData.ScaleX) / (float)shadowTextureData.Width; } renderer.SetShader(null); renderer.Draw(shadowTextureData, shadowPosition, Color.White * 0.5f, 0.0f, shadowScale * Scale); }
public virtual void Draw(Renderer renderer) { if (!Visible) { return; } renderer.SetShader(Shader); if (Skeleton != null) { if (Altitude == 0.0f) { renderer.Draw(Skeleton, Tint); } else { Skeleton.RootBone.Y -= Altitude; Skeleton.UpdateWorldTransform(); renderer.Draw(Skeleton, Tint); Skeleton.RootBone.Y += Altitude; } } else if (Sprite != null) { renderer.Draw(Sprite, Position - new Vector2(0.0f, Altitude), Tint, Rotation, Scale); } }
public virtual void DrawShadow(Renderer renderer) { if (!RenderShadow || !Visible) return; Vector2 shadowPosition = Position; Vector2 shadowScale = new Vector2(1.5f); if (Skeleton != null) { if (ShadowFollowBone != null) { shadowPosition.X = ShadowFollowBone.WorldX; shadowScale += new Vector2(ShadowFollowBone.WorldY - Skeleton.RootBone.WorldY) / 400.0f; } } else if (Sprite != null) shadowScale *= (Sprite.Data.Width * Sprite.TextureData.ScaleX) / (float)shadowTextureData.Width; renderer.SetShader(null); renderer.Draw(shadowTextureData, shadowPosition, Color.White * 0.5f, 0.0f, shadowScale * Scale); }
public virtual void Draw(Renderer renderer) { if (!Visible) return; renderer.SetShader(Shader); if (Skeleton != null) { if (Altitude == 0.0f) renderer.Draw(Skeleton, Tint); else { Skeleton.RootBone.Y -= Altitude; Skeleton.UpdateWorldTransform(); renderer.Draw(Skeleton, Tint); Skeleton.RootBone.Y += Altitude; } } else if (Sprite != null) renderer.Draw(Sprite, Position - new Vector2(0.0f, Altitude), Tint, Rotation, Scale); }