void UpdatePosition() { if (Anchor.HasValue && Parent != null) { Position = Parent.BottomLeft + Vec2.CompMult(Parent.Size, Anchor.Value) + Offset; } }
public override void Render() { RenderState.Push(); RenderState.Color = player.Color; RenderState.Translate(player.Position - player.Size); RenderState.Scale(Vec2.CompMult(player.Size, new Vec2(1.5, 1)) * 2); if (player.Dir == -1) { RenderState.SetOrts(-Vec2.OrtX, Vec2.OrtY, new Vec2(1, 0)); } tex.Render(); RenderState.Pop(); }
public override void Render() { Vec2 pos1 = player.Dir == 1 ? player.Position - player.Size : player.Position - Vec2.CompMult(player.Size, new Vec2(1, dir.Y != 0 ? 1.33 : 1)); Vec2 pos2 = player.Dir == -1 ? player.Position + player.Size : player.Position + Vec2.CompMult(player.Size, new Vec2(1, dir.Y != 0 ? 1.33 : 1)); RenderState.Push(); RenderState.Color = Color.Mix(Color.Yellow, player.Color); RenderState.Translate(pos1); RenderState.Scale(pos2 - pos1); if (player.Dir == -1) { RenderState.SetOrts(-Vec2.OrtX, Vec2.OrtY, new Vec2(1, 0)); } GetTexture().Render(); RenderState.Pop(); }
Vec2 MousePos(Vec2 pos) { return(Vec2.CompMult(Vec2.CompDiv(pos - BottomLeft, Size), renderSize)); }