diff --git a/demo/[shaders]falling-sand.html b/demo/[shaders]falling-sand.html index 9eb369a..b300fb0 100644 --- a/demo/[shaders]falling-sand.html +++ b/demo/[shaders]falling-sand.html @@ -65,6 +65,8 @@
5 Plant
6 Stone
7 Wall
+
8 Ice
+
9 Fire
@@ -81,6 +83,24 @@ diff --git a/src/folk-sand.ts b/src/folk-sand.ts index f2c4a77..842a123 100644 --- a/src/folk-sand.ts +++ b/src/folk-sand.ts @@ -75,6 +75,8 @@ export class FolkSand extends FolkBaseSet { private shapeIndexBuffer!: WebGLBuffer; private shapeIndexCount = 0; + onMaterialChange?: (type: number) => void; + connectedCallback(): void { super.connectedCallback(); @@ -325,6 +327,7 @@ export class FolkSand extends FolkBaseSet { private setMaterialType(type: number) { this.materialType = Math.min(Math.max(type, 0), 9); + this.onMaterialChange?.(this.materialType); } private resizeCanvas() {