31 lines
857 B
JavaScript
31 lines
857 B
JavaScript
tiled.registerTool("RandomTilePlacer", {
|
|
name: "Random Tile Placer",
|
|
|
|
mousePressed: function (button, x, y, modifiers) {
|
|
if (button !== 1) return;
|
|
|
|
var map = tiled.activeAsset;
|
|
if (!map || !map.isTileMap) return;
|
|
|
|
var layer = map.currentLayer;
|
|
if (!layer || !layer.isTileLayer) {
|
|
tiled.warn("Select a tile layer first.");
|
|
return;
|
|
}
|
|
|
|
var selectedTiles = tiled.mapEditor.tilesetsView.selectedTiles;
|
|
if (!selectedTiles || selectedTiles.length === 0) {
|
|
tiled.warn("Select some tiles in the Tilesets panel first.");
|
|
return;
|
|
}
|
|
|
|
var tile = selectedTiles[Math.floor(Math.random() * selectedTiles.length)];
|
|
|
|
var tileX = Math.floor(x / map.tileWidth);
|
|
var tileY = Math.floor(y / map.tileHeight);
|
|
|
|
var edit = layer.edit();
|
|
edit.setTile(tileX, tileY, tile);
|
|
edit.apply();
|
|
},
|
|
});
|