Vacuum Cleaner added to the game

main
Erenando 2023-03-29 15:50:00 +02:00
parent e9e36c1d50
commit 2c63e34bba
2 changed files with 24 additions and 4 deletions

View File

@ -141,7 +141,7 @@
{
"id": "off",
"delays": [
20
30
],
"width": 48,
"height": 36

View File

@ -3,19 +3,39 @@ from level.elements.static.StaticLevelElement import StaticLevelElement
from physics.SpriteManager import SpriteManager
from sprite.SpritesheetManager import SpritesheetManager
from project.physics.TickData import TickData
BLOCK_TYPES = {
'A': 'staubsauger'
}
class VacuumCleanerElement(StaticLevelElement):
def __init__(self, tile: dict, loaded_level, level_screen_manager: 'LevelScreenManager'):
super().__init__(tile, loaded_level, level_screen_manager)
self.animation_state_counter = 0
self.danger = True
self.danger_time = 30
self.off_time = 50
def tick(self, tick_data: TickData):
super().tick(tick_data)
self.animation_state_counter += tick_data.dt
if self.danger:
if self.animation_state_counter >= self.danger_time:
self.set_animation_state('off')
self.animation_state_counter = 0
self.danger = not self.danger
else:
if self.animation_state_counter >= self.off_time:
self.set_animation_state('on')
self.animation_state_counter = 0
self.danger = not self.danger
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
block_type = BLOCK_TYPES[self.tile['name']]
self.spritesheet = spritesheet_manager.get_sheet(block_type)
self.set_animation_state('on')
self.position_scale.position = self.tile['position']