Map can now load interactable entities

This commit is contained in:
Marcin Kostrzewski 2020-04-06 10:35:58 +02:00
parent 6d1dc4ffb7
commit 9e7c4f1ae0

View File

@ -1,6 +1,8 @@
import json import json
import pygame import pygame
from src.entities.Interactable import Interactable
from src.game.TerrainTile import TerrainTile from src.game.TerrainTile import TerrainTile
from src.game.Screen import Locations from src.game.Screen import Locations
@ -41,6 +43,7 @@ class Map:
entityListJson = json.loads(file.read()) entityListJson = json.loads(file.read())
for entity in entityListJson: for entity in entityListJson:
try: try:
# Creates a pickupable object
if entity["isPickupable"]: if entity["isPickupable"]:
actualEntities.append(Pickupable(entity["name"] + ".png", actualEntities.append(Pickupable(entity["name"] + ".png",
self.tileSize, self.tileSize,
@ -49,6 +52,17 @@ class Map:
entity["effect"]["hunger"], entity["effect"]["hunger"],
entity["effect"]["thirst"], entity["effect"]["thirst"],
entity["effect"]["stamina"]))) entity["effect"]["stamina"])))
# Creates an interactable object
elif "effect" in entity:
actualEntities.append(Interactable(entity["name"] + ".png",
self.tileSize,
(entity["position"]["x"] * self.tileSize,
entity["position"]["y"] * self.tileSize),
Statistics(entity["effect"]["hp"],
entity["effect"]["hunger"],
entity["effect"]["thirst"],
entity["effect"]["stamina"])))
# Creates plain entity
else: else:
actualEntities.append(Entity(entity["name"] + ".png", actualEntities.append(Entity(entity["name"] + ".png",
self.tileSize, self.tileSize,