diff --git a/public/assets/icons/zoneEditor/eraser-tool.svg b/public/assets/icons/zoneEditor/eraser-tool.svg new file mode 100644 index 0000000..c0e1bf9 --- /dev/null +++ b/public/assets/icons/zoneEditor/eraser-tool.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/assets/icons/zoneEditor/tiles.svg b/public/assets/icons/zoneEditor/tiles.svg new file mode 100644 index 0000000..26cad8a --- /dev/null +++ b/public/assets/icons/zoneEditor/tiles.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/scss/_variables.scss b/src/assets/scss/_variables.scss index b66a71c..ad7825c 100644 --- a/src/assets/scss/_variables.scss +++ b/src/assets/scss/_variables.scss @@ -11,4 +11,5 @@ $light-gray: #d3d3d3; $blue-gray: #778899; $cyan: #368f8b; $dark-cyan: #376362; +$light-cyan: #00b3b3; $green: #09ad19; \ No newline at end of file diff --git a/src/components/Game.vue b/src/components/Game.vue index cb09aa3..c2ca608 100644 --- a/src/components/Game.vue +++ b/src/components/Game.vue @@ -1,7 +1,9 @@ @@ -28,9 +35,12 @@ import Menubar from '@/components/game/Menu.vue' import { onUnmounted } from 'vue' import ZoneEditor from '@/components/utilities/zoneEditor/ZoneEditor.vue' import Modal from '@/components/utilities/Modal.vue' -import GmUtilityWindow from '@/components/utilities/gmTools/GmUtilityWindow.vue' +import GmTools from '@/components/utilities/GmTools.vue' +import { useZoneStore } from '@/stores/zone' +import ZoneEditorToolbar from '@/components/utilities/zoneEditor/ZoneEditorToolbar.vue' const socket = useSocketStore() +const zone = useZoneStore() onUnmounted(() => { socket.disconnectSocket() diff --git a/src/components/World.vue b/src/components/World.vue index 8d01b5e..bbffa75 100644 --- a/src/components/World.vue +++ b/src/components/World.vue @@ -1,9 +1,9 @@ diff --git a/src/components/utilities/gmTools/GmUtilityWindow.vue b/src/components/utilities/GmTools.vue similarity index 100% rename from src/components/utilities/gmTools/GmUtilityWindow.vue rename to src/components/utilities/GmTools.vue diff --git a/src/components/utilities/zoneEditor/ZoneEditor.vue b/src/components/utilities/zoneEditor/ZoneEditor.vue index 3a9b539..ce6c7e4 100644 --- a/src/components/utilities/zoneEditor/ZoneEditor.vue +++ b/src/components/utilities/zoneEditor/ZoneEditor.vue @@ -16,9 +16,10 @@ + + \ No newline at end of file diff --git a/src/services/zone.ts b/src/services/zone.ts index 793ed13..3eb7203 100644 --- a/src/services/zone.ts +++ b/src/services/zone.ts @@ -6,6 +6,16 @@ export function getTile(x: number, y: number, layer: Phaser.Tilemaps.TilemapLaye return tile } +export function tileToWorldX(layer: Phaser.Tilemaps.TilemapLayer, pos_x: number, pos_y: number) { + const worldPoint = layer.tileToWorldXY(pos_x, pos_y) + return worldPoint.x + config.tile_size.y +} + +export function tileToWorldY(layer: Phaser.Tilemaps.TilemapLayer, pos_x: number, pos_y: number) { + const worldPoint = layer.tileToWorldXY(pos_x, pos_y) + return worldPoint.y +} + export function tileToWorldXY(layer: Phaser.Tilemaps.TilemapLayer, pos_x: number, pos_y: number) { const worldPoint = layer.tileToWorldXY(pos_x, pos_y) const position_x = worldPoint.x + config.tile_size.y diff --git a/src/stores/zone.ts b/src/stores/zone.ts index c3de41d..9e9b61f 100644 --- a/src/stores/zone.ts +++ b/src/stores/zone.ts @@ -5,12 +5,14 @@ export const useZoneStore = defineStore('zone', { state: () => ({ loaded: false, tiles: undefined, - characters: [] as Character[] + characters: [] as Character[], + editorIsOpen: true }), getters: { isLoaded: (state) => state.loaded, getTiles: (state) => state.tiles, - getCharacters: (state) => state.characters + getCharacters: (state) => state.characters, + getEditorIsOpen: (state) => state.editorIsOpen }, actions: { loadTiles(tiles: any) { @@ -33,6 +35,9 @@ export const useZoneStore = defineStore('zone', { } else { console.error(`Character with id ${character.id} not found`) } + }, + setEditorIsOpen(isOpen: boolean) { + this.editorIsOpen = isOpen } } })