GoalDoorReceiverLevelElement added
parent
139fa557a9
commit
e4c2007928
|
@ -21,16 +21,16 @@
|
||||||
"delays": [
|
"delays": [
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"width": 12,
|
"width": 24,
|
||||||
"height": 12
|
"height": 36
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "closed",
|
"id": "close",
|
||||||
"delays": [
|
"delays": [
|
||||||
1
|
1
|
||||||
],
|
],
|
||||||
"width": 12,
|
"width": 24,
|
||||||
"height": 12
|
"height": 36
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,6 +3,7 @@ from typing import Optional
|
||||||
from level.Level import Level
|
from level.Level import Level
|
||||||
from level.elements.dynamic.BouncingBallLevelElement import BouncingBallLevelElement
|
from level.elements.dynamic.BouncingBallLevelElement import BouncingBallLevelElement
|
||||||
from level.elements.dynamic.PushableBoxLevelElement import PushableBoxLevelElement
|
from level.elements.dynamic.PushableBoxLevelElement import PushableBoxLevelElement
|
||||||
|
from level.elements.static.GoalDoorReceiverLevelElement import GoalDoorReceiverLevelElement
|
||||||
from level.elements.static.SpikeLevelElement import SpikeLevelElement
|
from level.elements.static.SpikeLevelElement import SpikeLevelElement
|
||||||
from level.elements.static.ButtonInputLevelElement import ButtonInputLevelElement
|
from level.elements.static.ButtonInputLevelElement import ButtonInputLevelElement
|
||||||
from level.elements.static.GateReceiverLevelElement import GateReceiverLevelElement
|
from level.elements.static.GateReceiverLevelElement import GateReceiverLevelElement
|
||||||
|
@ -28,6 +29,8 @@ TILES = {
|
||||||
|
|
||||||
'G': GateReceiverLevelElement,
|
'G': GateReceiverLevelElement,
|
||||||
|
|
||||||
|
'D': GoalDoorReceiverLevelElement,
|
||||||
|
|
||||||
'M': PushableBoxLevelElement,
|
'M': PushableBoxLevelElement,
|
||||||
'q': BouncingBallLevelElement,
|
'q': BouncingBallLevelElement,
|
||||||
|
|
||||||
|
@ -101,3 +104,4 @@ class LoadedLevel:
|
||||||
for block in self.blocks:
|
for block in self.blocks:
|
||||||
self.sprite_manager.remove_ui_element(block)
|
self.sprite_manager.remove_ui_element(block)
|
||||||
del self.blocks
|
del self.blocks
|
||||||
|
self.blocks = []
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
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')
|
||||||
|
self.is_collider = not self.active_state
|
||||||
|
self.register_collisions = self.is_collider
|
Loading…
Reference in New Issue