sep-pm-platformer/project/level/elements/LevelElement.py

27 lines
735 B
Python

import uuid
from abc import abstractmethod
from level.Level import Level
from physics.SpriteManager import SpriteManager
from sprite.SpritesheetManager import SpritesheetManager
class LevelElement:
def __init__(self, tile: dict, loaded_level):
self.tile = tile
self.loaded_level = loaded_level
self.sprites = []
if 'id' in tile:
self.id = tile['id']
else:
self.id = uuid.uuid4()
@abstractmethod
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
pass
def destroy(self, sprite_manager: SpriteManager):
for sprite in self.sprites:
sprite_manager.remove_ui_element(sprite)