public float3 ScreenPosition(WorldRenderer wr) { var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.Size.XY).ToInt2(); // HACK: The z offset needs to be applied somewhere, but this probably is the wrong place. return(new float3(xy, sprite.Offset.Z + wr.ScreenZPosition(pos, 0) - 0.5f * scale * sprite.Size.Z)); }
public Rectangle ScreenBounds(WorldRenderer wr, WPos pos, WVec offset, float scale) { var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset); var cb = CurrentSequence.Bounds; return(Rectangle.FromLTRB( xy.X + (int)(cb.Left * scale), xy.Y + (int)(cb.Top * scale), xy.X + (int)(cb.Right * scale), xy.Y + (int)(cb.Bottom * scale))); }
public Rectangle ScreenBounds(WPos pos, WorldRenderer wr, float scale) { var r = Model.AggregateBounds; var offset = OffsetFunc != null?OffsetFunc() : WVec.Zero; var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset); return(Rectangle.FromLTRB( xy.X + (int)(r.Left * scale), xy.Y + (int)(r.Top * scale), xy.X + (int)(r.Right * scale), xy.Y + (int)(r.Bottom * scale))); }
public void Render(WorldRenderer wr) { if (this.Actor == null) { } else { if (this.Actor.Info.Name == "refinery") { var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.Size.XY).ToInt2(); //Console.WriteLine("x: " + xy.X + " y: " + xy.Y + " | offX:" + sprite.Offset.X + " offY:" + sprite.Offset.Y +" |SpriteRenderable " + this.Actor.Info.Name + " owner:" + this.Actor.Owner); } // Console.WriteLine("SpriteRenderable " + this.Actor.Info.Name + " owner:" + this.Actor.Owner); } Game.Renderer.WorldSpriteRenderer.DrawSprite(sprite, ScreenPosition(wr), palette, scale * sprite.Size); }
float2 ScreenPosition(WorldRenderer wr) { return(wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.size).ToInt2()); }
float3 ScreenPosition(WorldRenderer wr) { var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.Size.XY).ToInt2(); return(new float3(xy, wr.ScreenZPosition(pos, 0) - 0.5f * scale * sprite.Size.Z)); }
float2 ScreenPosition(WorldRenderer wr) { return wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.Size).ToInt2(); }
float3 ScreenPosition(WorldRenderer wr) { var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset) - (0.5f * scale * sprite.Size.XY).ToInt2(); // HACK: The z offset needs to be applied somewhere, but this probably is the wrong place. return new float3(xy, sprite.Offset.Z + wr.ScreenZPosition(pos, 0) - 0.5f * scale * sprite.Size.Z); }