mirror of
https://git.leinelab.org/Mal/mr-crocs-adventures.git
synced 2025-09-11 02:57:36 +02:00
Tileset dialog for Tilorswift and fix for adding rows.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
import GraphicSet from "../../../js/GraphicSet.js";
|
||||
import Setting from "../../../js/Setting.js";
|
||||
import TilorswiftTilesetSelectedEvent from "../events/TilorswiftTilesetSelectedEvent.js";
|
||||
|
||||
export default class Dialog
|
||||
{
|
||||
constructor()
|
||||
@@ -59,6 +63,66 @@ export default class Dialog
|
||||
return htmlElementInput;
|
||||
}
|
||||
|
||||
createTilesetSelector()
|
||||
{
|
||||
let htmlElement = document.createElement('div');
|
||||
htmlElement.id = 'tileset-selector';
|
||||
|
||||
let htmlElementLabel = document.createElement('div');
|
||||
htmlElementLabel.classList.add('dialog-label');
|
||||
htmlElementLabel.innerText = 'Terrain';
|
||||
|
||||
let htmlAvatarElement = document.createElement('div');
|
||||
htmlAvatarElement.id = 'tileset-avatar';
|
||||
htmlAvatarElement.style.backgroundImage = 'url("' + Setting.TILESET_LOCATION + GraphicSet[0].tileset + '")';
|
||||
|
||||
let htmlListElement = document.createElement('div');
|
||||
htmlListElement.id = 'tileset-list';
|
||||
|
||||
htmlElement.appendChild(htmlElementLabel);
|
||||
htmlElement.appendChild(htmlAvatarElement);
|
||||
htmlElement.appendChild(htmlListElement);
|
||||
|
||||
htmlAvatarElement.addEventListener(
|
||||
'click',
|
||||
() => {
|
||||
htmlListElement.style.display = 'block';
|
||||
}
|
||||
);
|
||||
|
||||
GraphicSet.forEach(
|
||||
(graphicSet, index) => {
|
||||
let htmlTilesetElement = document.createElement('div');
|
||||
htmlTilesetElement.classList.add('tileset');
|
||||
|
||||
let htmlThumbnail = document.createElement('div');
|
||||
htmlThumbnail.classList.add('tileset-thumbnail');
|
||||
htmlThumbnail.style.backgroundImage = 'url("' + Setting.TILESET_LOCATION + graphicSet.tileset + '")';
|
||||
htmlTilesetElement.appendChild(htmlThumbnail);
|
||||
|
||||
let htmlTitleElement = document.createElement('div');
|
||||
htmlTitleElement.classList.add('tileset-title');
|
||||
htmlTitleElement.innerText = graphicSet.name;
|
||||
htmlTilesetElement.appendChild(htmlTitleElement);
|
||||
|
||||
htmlTilesetElement.addEventListener(
|
||||
'click',
|
||||
() => {
|
||||
htmlListElement.style.display = 'none';
|
||||
htmlAvatarElement.style.backgroundImage = 'url("' + Setting.TILESET_LOCATION + GraphicSet[index].tileset + '")';
|
||||
window.dispatchEvent(new TilorswiftTilesetSelectedEvent(index));
|
||||
}
|
||||
);
|
||||
|
||||
htmlListElement.appendChild(htmlTilesetElement);
|
||||
}
|
||||
);
|
||||
|
||||
this.inputAreaElement.appendChild(htmlElement);
|
||||
|
||||
return htmlElement;
|
||||
}
|
||||
|
||||
setMessage(message)
|
||||
{
|
||||
this.messageElement.innerText = message;
|
||||
|
||||
Reference in New Issue
Block a user