Commit 15a9847b authored by Florent Becker's avatar Florent Becker

Reset to random tile

parent 22fa71f2
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<button class="w3-button">System</button> <button class="w3-button">System</button>
<div class="w3-dropdown-content w3-bar-block w3-card-4"> <div class="w3-dropdown-content w3-bar-block w3-card-4">
<button id="reset-to-seed-button" class="w3-bar-item w3-button">Reset To Seed</button> <button id="reset-to-seed-button" class="w3-bar-item w3-button">Reset To Seed</button>
<button id="reset-to-random-button" class="w3-bar-item w3-button">Reset To One Random Tile</button>
</div> </div>
</div> </div>
<div class="w3-dropdown-hover"> <div class="w3-dropdown-hover">
......
...@@ -35,7 +35,7 @@ export class Simulator { ...@@ -35,7 +35,7 @@ export class Simulator {
this.saveSVGConfirmButton = document.getElementById('save-svg-confirm-button'); this.saveSVGConfirmButton = document.getElementById('save-svg-confirm-button');
this.resetToSeedButton = document.getElementById('reset-to-seed-button'); this.resetToSeedButton = document.getElementById('reset-to-seed-button');
this.resetToRandomButton = document.getElementById('reset-to-random-button');
this.infoBar = document.getElementById('sim-info'); this.infoBar = document.getElementById('sim-info');
this.stepForwardButton.addEventListener('click', (e) => { this.stepForward(); }); this.stepForwardButton.addEventListener('click', (e) => { this.stepForward(); });
...@@ -51,6 +51,10 @@ export class Simulator { ...@@ -51,6 +51,10 @@ export class Simulator {
this.zoomOutButton.addEventListener('click', (e) => { this.zoomOut(); }); this.zoomOutButton.addEventListener('click', (e) => { this.zoomOut(); });
this.resetToSeedButton.addEventListener('click', (e) => { this.reset(true) }); this.resetToSeedButton.addEventListener('click', (e) => { this.reset(true) });
this.resetToRandomButton.addEventListener('click', (e) => {
this.reset(false);
this.addRandomAtOrigin();
});
this.simulationModeConfirmButton.addEventListener('click', (e) => { this.simulationModeOption(); }); this.simulationModeConfirmButton.addEventListener('click', (e) => { this.simulationModeOption(); });
this.saveSVGConfirmButton.addEventListener('click', (e) => { this.initiateSvgSnapshot(); }); this.saveSVGConfirmButton.addEventListener('click', (e) => { this.initiateSvgSnapshot(); });
...@@ -134,6 +138,13 @@ export class Simulator { ...@@ -134,6 +138,13 @@ export class Simulator {
this.renderUpdate = true; this.renderUpdate = true;
} }
addRandomAtOrigin() {
let ttypes = this.tileset.tileTypes;
let tile = ttypes[Math.floor(Math.random()*ttypes.length)];
let origin = new Vector2D(0, 0);
this.addTile(tile, origin);
}
refreshTiles() { refreshTiles() {
this.tileWorker.postMessage({ msg: 'tileset', types: this.tileset.getTileTypes(), glues: this.tileset.getGlues(), blockers_v2: this.tileset.tileGlueBlockers}); this.tileWorker.postMessage({ msg: 'tileset', types: this.tileset.getTileTypes(), glues: this.tileset.getGlues(), blockers_v2: this.tileset.tileGlueBlockers});
for (const type of this.tileset.getTileTypes()) for (const type of this.tileset.getTileTypes())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment