mirror of
https://git.leinelab.org/Mal/mr-crocs-adventures.git
synced 2025-09-11 02:57:36 +02:00
UI for adding rows and columns.
This commit is contained in:
@@ -14,6 +14,10 @@ import WidgetBar from "./menu/WidgetBar.js";
|
||||
import EntrancePointWidget from "./menu/EntrancePointWidget.js";
|
||||
import Brush from "./Brush.js";
|
||||
import BrushMode from "./BrushMode.js";
|
||||
import DialogAddRows from "./dialog/DialogAddRows.js";
|
||||
import DialogAddColumns from "./dialog/DialogAddColumns.js";
|
||||
import TilorswiftAddRowsClickedEvent from "./events/TilorswiftAddRowsClickedEvent.js";
|
||||
import TilorswiftAddColumnsClickedEvent from "./events/TilorswiftAddColumnsClickedEvent.js";
|
||||
|
||||
let loader = new FileLoader('../levels/level.json');
|
||||
let image = new Image();
|
||||
@@ -24,10 +28,10 @@ image.onload = function () {
|
||||
let map = document.getElementById('map');
|
||||
map.appendChild(terrain.getElement());
|
||||
|
||||
terrain.addColumns(200, 1);
|
||||
|
||||
let brush = new Brush();
|
||||
|
||||
let tileset = new Tileset(image, 8, 3);
|
||||
|
||||
let widgetBar = new WidgetBar('widget-bar');
|
||||
|
||||
let tilesetPicker = new TilesetPickerWidget(tileset, brush);
|
||||
@@ -35,10 +39,10 @@ image.onload = function () {
|
||||
|
||||
let entrancePicker = new EntrancePointWidget(widgetBar, brush);
|
||||
widgetBar.addWidget(entrancePicker);
|
||||
|
||||
document.body.appendChild(widgetBar.getElement());
|
||||
|
||||
let mouse = new Mouse();
|
||||
|
||||
let mainbar = new MainMenu('mainbar');
|
||||
|
||||
let menuFile = new MenuGroup('Datei');
|
||||
@@ -48,6 +52,11 @@ image.onload = function () {
|
||||
|
||||
mainbar.addMenuGroup(menuFile);
|
||||
|
||||
let menuEdit = new MenuGroup('Bearbeiten');
|
||||
menuEdit.addMenuEntry(new MainMenuEntry('Zeilen einfügen...', TilorswiftAddRowsClickedEvent));
|
||||
menuEdit.addMenuEntry(new MainMenuEntry('Spalten einfügen...', TilorswiftAddColumnsClickedEvent));
|
||||
mainbar.addMenuGroup(menuEdit);
|
||||
|
||||
document.body.appendChild(mainbar.getElement());
|
||||
|
||||
window.addEventListener(
|
||||
@@ -91,7 +100,35 @@ image.onload = function () {
|
||||
}
|
||||
);
|
||||
|
||||
/* Prevent Firefox's default drag and drop for images */
|
||||
window.addEventListener(
|
||||
TilorswiftEvent.ADD_ROWS_CLICKED,
|
||||
() => {
|
||||
new DialogAddRows();
|
||||
}
|
||||
);
|
||||
|
||||
window.addEventListener(
|
||||
TilorswiftEvent.ADD_COLUMNS_CLICKED,
|
||||
() => {
|
||||
new DialogAddColumns();
|
||||
}
|
||||
);
|
||||
|
||||
window.addEventListener(
|
||||
TilorswiftEvent.ADD_ROWS,
|
||||
function (event) {
|
||||
terrain.addRows(event.beforeRow, event.rowCount);
|
||||
}
|
||||
);
|
||||
|
||||
window.addEventListener(
|
||||
TilorswiftEvent.ADD_COLUMNS,
|
||||
function (event) {
|
||||
terrain.addColumns(event.beforeColumn, event.columnCount);
|
||||
}
|
||||
);
|
||||
|
||||
/* Prevents Firefox's annoying default drag and drop behavior for images */
|
||||
document.addEventListener(
|
||||
'dragstart',
|
||||
function (event) {
|
||||
@@ -102,8 +139,9 @@ image.onload = function () {
|
||||
window.addEventListener(
|
||||
TilorswiftEvent.MENU_SAVE_CLICKED,
|
||||
function () {
|
||||
Tilorswift.saveTerrainToFile(terrain);
|
||||
window.dispatchEvent(new TilorswiftSavedEvent());
|
||||
if (Tilorswift.saveTerrainToFile(terrain)) {
|
||||
window.dispatchEvent(new TilorswiftSavedEvent());
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user