66
77function delete_items(items)
88 if items then
9- for _, id in pairs(items) do
10- go.delete(id)
9+ for _, v in pairs(items) do
10+ go.delete(v. id)
1111 end
1212 end
1313end
1414
1515function update_item_positions(items)
1616 if items then
1717 local position = go.get_position();
18- for pos, id in pairs(items) do
19- msg.post(id, "Game State", {x = position.x, y = position.y - (pos-1) * 20})
18+ for k,v in pairs(items) do
19+ msg.post(v. id, "Game State", {x = position.x, y = position.y - (v. pos-1) * 20})
2020 end
2121 end
2222end
2323
24+ function update_item_text(items,wants)
25+ for k,v in pairs(items) do
26+ if wants[k] then
27+ msg.post(v.id, "Game State", { amount = wants[k], item = k})
28+ else
29+ msg.post(v.id, "Game State", {amount = 0})
30+ end
31+ end
32+ end
33+
34+ function add_item(self, type, ammount)
35+ local position = go.get_position();
36+ created_id = factory.create("#order_factory", vmath.vector3(position.x , position.y- self.item_count * 20,0.1), vmath.quat(),{},1)
37+ if created_id then
38+ self.order = true
39+ msg.post(created_id, "Game State", {item = type, amount = ammount})
40+ self.item_count = self.item_count + 1
41+ self.items[type] = { id = created_id , pos = self.item_count}
42+ end
43+ end
44+
2445function on_message(self, message_id, message, sender)
2546 if message.sprite_id then
2647 sprite.play_flipbook("#sprite",hash("Customer_".. message.sprite_id))
2748 end
49+
50+ if message.order and self.order then
51+ update_item_text(self.items,message.order)
52+ end
53+ if message.order and not self.order then
54+ --delete_items(self.items)
55+ for k, v in pairs(message.order) do
56+ if k ~= '__keys' then
57+ add_item(self, k, v)
58+ end
59+ end
60+ self.item_count = 1
61+ add_item(self, "Money", 0)
62+ end
2863 if message.y then
2964 local position = go.get_position();
3065 position.y = message.y;
@@ -41,23 +76,6 @@ function on_message(self, message_id, message, sender)
4176 if message.type then
4277 --sprite.play_flipbook("#sprite",hash(message.type))
4378 end
44- if message.order and not self.order then
45- --delete_items(self.items)
46- for k, v in pairs(message.order) do
47- if k ~= '__keys' then
48- local position = go.get_position();
49- created_id = factory.create("#order_factory", vmath.vector3(position.x , position.y- self.item_count * 20,0.1), vmath.quat(),{},1)
50- if created_id then
51- self.order = true
52- msg.post(created_id, "Game State", {item = k, amount = v})
53- table.insert(self.items, created_id)
54- self.item_count = self.item_count +1
55- end
56-
57- end
58- end
59- end
60-
6179end
6280
6381
0 commit comments