public void DrawSelection() { if (Selection == null) { return; } Tile t = Game.World.Map.At(Selection.GetSelection()); if ( (SelectedUnit != null && t.Unit == SelectedUnit) || (SelectedTile == t && t.Station != null) ) { Vector2 position = t.Position.ToVector2(); if (Selection.GetSelectionType() == SelectionType.Unit) { //no i'm not going to check if it's null, it's not null. //i'll fight you. Debug.Assert(SelectedUnit != null, "SelectedUnit != null"); position = SelectedUnit .GetAnimateable() .ApplyAnimations() .Position; } fbRectangle destination = Camera.WorldToScreen( new fbRectangle( //t.Position * tileSize, position * tileSize, new Vector2(tileSize) ) ); Engine.Draw( Engine.GetTexture("ui-selection"), destination ); } }