2023-03-28 18:09:29 +02:00
|
|
|
from level.Level import Level
|
|
|
|
from level.elements.static.ReceiverLevelElement import ReceiverLevelElement
|
|
|
|
from physics.SpriteManager import SpriteManager
|
|
|
|
from sprite.SpritesheetManager import SpritesheetManager
|
|
|
|
|
|
|
|
|
|
|
|
class GoalDoorReceiverLevelElement(ReceiverLevelElement):
|
|
|
|
def __init__(self, tile: dict, level: Level):
|
|
|
|
super().__init__(tile, level)
|
|
|
|
|
|
|
|
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
|
|
|
|
self.spritesheet = spritesheet_manager.get_sheet('goal_door')
|
|
|
|
self.set_animation_state('open' if self.active_state else 'close')
|
|
|
|
self.position_scale.position = self.tile['position']
|
|
|
|
|
|
|
|
def set_active(self, active: bool):
|
|
|
|
super().set_active(active)
|
|
|
|
self.set_animation_state('open' if self.active_state else 'close')
|
2023-03-29 14:14:45 +02:00
|
|
|
self.is_collider = False
|
|
|
|
self.register_collisions = not self.active_state
|