//Draws any overlays the editor might require protected virtual void drawEditorOverlays() { //Border World world = engine.world; drawBorder(new Color(0, 1, 0), 2f, new Vector2[] { camera.world2Screen(new Vector2(0, 0)), camera.world2Screen(new Vector2(world.width * Tile.size, 0)), camera.world2Screen(new Vector2(world.width * Tile.size, world.height * Tile.size)), camera.world2Screen(new Vector2(0, world.height * Tile.size)), camera.world2Screen(new Vector2(0, 0)), }); //Selection tiles if (engine.editorComponent.activeTool is SelectionTool) { engine.editorComponent.selectionTool.drawTiles(); } //Selection if (engine.editorComponent.selectionTool.active || (engine.editorComponent.fillTool.active && !engine.editorComponent.fillTool.selectionBox.isDown)) { engine.editorComponent.selectionTool.drawSelection(); } //Floating pic if (engine.editorComponent.activeTool != null && engine.editorComponent.activeTool.floatingPic != null) { engine.editorComponent.activeTool.floatingPic.draw(); } }
public void drawSelection() { if (selection.topLeft == new Vector2(-1, -1)) { return; } Camera camera = editor.engine.graphicsComponent.camera; editor.engine.graphicsComponent.drawBorder(new Color(0, 0, 1), vtx: new Vector2[] { camera.world2Screen(selection.topLeft * Tile.size), camera.world2Screen((selection.topRight + new Vector2(1, 0)) * Tile.size), camera.world2Screen((selection.bottomRight + new Vector2(1, 1)) * Tile.size), camera.world2Screen((selection.bottomLeft + new Vector2(0, 1)) * Tile.size), camera.world2Screen(selection.topLeft * Tile.size), }); if (mode != Mode.paste && !(editor.fillTool.active && !editor.fillTool.selectionBox.isDown)) { editor.engine.graphicsComponent.drawRect(camera.world2Screen(selection.topLeft * Tile.size), camera.world2Screen((selection.bottomRight + new Vector2(1, 1)) * Tile.size), new Color(0, 0, 1, .2f)); } }