Added Saw + Fixed Factory.deleteItem

This commit is contained in:
MasterGordon 2018-03-27 23:02:14 +02:00
parent 79913c7950
commit 2819da21a3
10 changed files with 50 additions and 5 deletions

BIN
images/items/planks.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

BIN
images/tiles/saw.pdn Normal file

Binary file not shown.

BIN
images/tiles/saw10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

BIN
images/tiles/saw11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

BIN
images/tiles/saw12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 531 B

BIN
images/tiles/saw13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

View File

@ -94,11 +94,12 @@ class Inventory {
this.items.push(item) this.items.push(item)
} }
take(id, count) { take(id, count, factory) {
if (this.countOf(id) >= count) { if (this.countOf(id) >= count) {
for (var j = 0; j < count; j++) { for (var j = 0; j < count; j++) {
for (var i = 0; i < this.items.length; i++) { for (var i = 0; i < this.items.length; i++) {
if (this.items[i].id == id) { if (this.items[i].id == id) {
factory.deleteItem(this.items[i])
this.items.splice(i, 1) this.items.splice(i, 1)
break; break;
} }
@ -156,6 +157,7 @@ class Factory {
if (this.items[i].x % 48 == 0 && this.items[i].y % 48 == 0) { 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] var tile = this.tiles[this.items[i].x / 48][this.items[i].y / 48]
if (tile != 0) { if (tile != 0) {
if (tile.input.items.indexOf(this.items[i]) == -1)
tile.input.addItem(this.items[i]) tile.input.addItem(this.items[i])
} }
} }
@ -194,7 +196,12 @@ class Factory {
} }
deleteItem(item) { 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
}
}
} }
} }

View File

@ -5,5 +5,8 @@
},{ },{
"id": 1, "id": 1,
"name": "log" "name": "log"
},{
"id": 2,
"name": "planks"
}] }]
} }

View File

@ -41,6 +41,39 @@ class Treefarm extends Tile {
} }
tileClasses.push(Treefarm) 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 { class Collector extends Tile {
constructor(x, y, factory) { constructor(x, y, factory) {
super(x, y, factory) super(x, y, factory)
@ -54,12 +87,10 @@ class Collector extends Tile {
} }
work() { work() {
console.log(this.input)
while (this.input.items.length > 0) { while (this.input.items.length > 0) {
var item = this.input.items.pop() var item = this.input.items.pop()
inventory.addItem(item) inventory.addItem(item)
this.factory.deleteItem(item) this.factory.deleteItem(item)
console.log(item)
} }
} }
} }

View File

@ -11,6 +11,10 @@
"collector": { "collector": {
"name": "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." "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...", "more": "show more...",