game_pos should be a tuple.
[koperkapel.git] / koperkapel / gamelib / items.py
index 5aba919d8dda70285331beab999d84e70cbd62ea..9ef2ff61fbb51369f7aeb040a3018021be61f95f 100644 (file)
@@ -1,5 +1,29 @@
 # Item utilities
 
+from ..serums import default_serums
+from ..weapons import default_weapons
+
+
+def build_serum(item):
+    actor = default_serums.assemble(item["serum"])
+    return actor
+
+
+def build_weapon(item):
+    actor = default_weapons.assemble(item["weapon"])
+    return actor
+
+
+ITEM_TYPES = {
+    "serum": build_serum,
+    "weapon": build_weapon,
+}
+
 
 def get_item(item):
-    return item
+    item_type = item.pop("type")
+    game_pos = tuple(item.pop("pos"))
+    actor = ITEM_TYPES[item_type](item)
+    actor.game_pos = game_pos
+    actor.anchor = (0, 0)
+    return actor