diff --git a/images/items/planks.png b/images/items/planks.png new file mode 100644 index 0000000..26e3ad0 Binary files /dev/null and b/images/items/planks.png differ diff --git a/images/tiles/saw.pdn b/images/tiles/saw.pdn new file mode 100644 index 0000000..7f37797 Binary files /dev/null and b/images/tiles/saw.pdn differ diff --git a/images/tiles/saw10.png b/images/tiles/saw10.png new file mode 100644 index 0000000..bb17fe1 Binary files /dev/null and b/images/tiles/saw10.png differ diff --git a/images/tiles/saw11.png b/images/tiles/saw11.png new file mode 100644 index 0000000..96d584a Binary files /dev/null and b/images/tiles/saw11.png differ diff --git a/images/tiles/saw12.png b/images/tiles/saw12.png new file mode 100644 index 0000000..7d7b18b Binary files /dev/null and b/images/tiles/saw12.png differ diff --git a/images/tiles/saw13.png b/images/tiles/saw13.png new file mode 100644 index 0000000..6106bcd Binary files /dev/null and b/images/tiles/saw13.png differ diff --git a/js/baseclasses.js b/js/baseclasses.js index 54a259a..47b7517 100644 --- a/js/baseclasses.js +++ b/js/baseclasses.js @@ -94,11 +94,12 @@ class Inventory { this.items.push(item) } - take(id, count) { + take(id, count, factory) { if (this.countOf(id) >= count) { for (var j = 0; j < count; j++) { for (var i = 0; i < this.items.length; i++) { if (this.items[i].id == id) { + factory.deleteItem(this.items[i]) this.items.splice(i, 1) break; } @@ -156,7 +157,8 @@ class Factory { if (this.items[i].x % 48 == 0 && this.items[i].y % 48 == 0) { var tile = this.tiles[this.items[i].x / 48][this.items[i].y / 48] if (tile != 0) { - tile.input.addItem(this.items[i]) + if (tile.input.items.indexOf(this.items[i]) == -1) + tile.input.addItem(this.items[i]) } } } @@ -194,7 +196,12 @@ class Factory { } deleteItem(item) { - this.items.splice(this.items.indexOf(item), 1) + for (var i = 0; i < this.items.length; i++) { + if (this.items[i].x == item.x && this.items[i].y == item.y && this.items[i].id == item.id) { + this.items.splice(i, 1) + return + } + } } } diff --git a/js/items.json b/js/items.json index 4208551..f74c481 100644 --- a/js/items.json +++ b/js/items.json @@ -5,5 +5,8 @@ },{ "id": 1, "name": "log" + },{ + "id": 2, + "name": "planks" }] } diff --git a/js/tiles.js b/js/tiles.js index 4f5968d..c24676e 100644 --- a/js/tiles.js +++ b/js/tiles.js @@ -41,6 +41,39 @@ class Treefarm extends Tile { } tileClasses.push(Treefarm) +class Saw extends Tile { + constructor(x, y, factory) { + super(x, y, factory) + this.maxwork = 96 + this.currentwork = 0 + this.name = "saw" + this.texture = { + "0": [], + "1": ["saw10", "saw10", "saw10", "saw10", "saw11", "saw11", "saw11", "saw11", "saw12", "saw12", "saw12", "saw12", "saw13", "saw13", "saw13", "saw13"] + } + this.loadImages() + } + + work() { + //Items für ein Pank + var requieredCount = 5 + if (this.input.countOf(1) >= requieredCount) { + if (this.currentwork == 96) { + this.input.take(1, requieredCount,this.factory) + var item = new Item(2, this.x * 48, this.y * 48) + this.factory.items.push(item) + item.setDFromDirection(this.direction) + this.currentwork = 0 + } else { + this.currentwork++ + } + } else { + this.currentwork = 0 + } + } +} +tileClasses.push(Saw) + class Collector extends Tile { constructor(x, y, factory) { super(x, y, factory) @@ -54,12 +87,10 @@ class Collector extends Tile { } work() { - console.log(this.input) while (this.input.items.length > 0) { var item = this.input.items.pop() inventory.addItem(item) this.factory.deleteItem(item) - console.log(item) } } } diff --git a/lang/en.json b/lang/en.json index 6ccca57..a35f5a2 100644 --- a/lang/en.json +++ b/lang/en.json @@ -11,6 +11,10 @@ "collector": { "name": "Collector", "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." + }, + "saw": { + "name": "Saw", + "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet." } }, "more": "show more...",