]> git.lizzy.rs Git - dragonblocks.git/blobdiff - engine/craftfield.js
Rework inventory rendering
[dragonblocks.git] / engine / craftfield.js
index 38a981bd2b34576795b0d99a40b00f915d8fc19f..3f331acbeef4be5d1ca6e4f780136b24d7b4ea25 100644 (file)
@@ -35,10 +35,10 @@ dragonblocks.Craftfield = class extends dragonblocks.Inventory
                let self = this;
                this.resultfield.action = out => {
                        out.add(self.resultfield) && self.reduce();
-               }
+               };
 
                this.addEventListener("updateStack", _ => {
-                       self.update();
+                       self.updateResult();
                });
        }
 
@@ -47,24 +47,13 @@ dragonblocks.Craftfield = class extends dragonblocks.Inventory
                return super.calculateWidth() + dragonblocks.settings.inventory.scale * 1.1 * 2;
        }
 
-       draw(parent, x, y)
-       {
-               if (! super.draw(parent, x, y))
-                       return false;
-
-               this.resultfield.draw(this.getDisplay(), dragonblocks.settings.inventory.scale * 0.1 + (this.width + 1) * dragonblocks.settings.inventory.scale * 1.1, dragonblocks.settings.inventory.scale * 0.1 + (this.height / 2 - 0.5) * dragonblocks.settings.inventory.scale * 1.1);
-       }
-
        reduce()
        {
-               for (let stack of this.list) {
-                       let vstack = new dragonblocks.ItemStack();
-                       vstack.addOne(stack);
-               }
-               this.update();
+               for (let stack of this.list)
+                       new dragonblocks.ItemStack().addOne(stack);
        }
 
-       update()
+       updateResult()
        {
                this.resultfield.deserialize("");
 
@@ -73,4 +62,11 @@ dragonblocks.Craftfield = class extends dragonblocks.Inventory
                                return this.resultfield.deserialize(recipe.result);
                }
        }
+
+       initGraphics()
+       {
+               super.initGraphics();
+
+               this.resultfield.draw(this.display, dragonblocks.settings.inventory.scale * 0.1 + (this.width + 1) * dragonblocks.settings.inventory.scale * 1.1, dragonblocks.settings.inventory.scale * 0.1 + (this.height / 2 - 0.5) * dragonblocks.settings.inventory.scale * 1.1);
+       }
 };