Quellcode für miniworlds.positions.rect

from typing import Union
import pygame

import miniworlds.base.app as app
from miniworlds.base.exceptions import NoValidWorldRectError



[Doku] class Rect(pygame.Rect):
[Doku] @classmethod def create(cls, rect: Union[tuple, pygame.Rect]): if type(rect) == tuple: return cls(rect[0], rect[1], 1, 1) elif type(rect) == pygame.Rect: return cls(rect.x, rect.y, rect.width, rect.height) else: raise NoValidWorldRectError("No valid world direction")
[Doku] @classmethod def from_position(cls, position, dimensions=None, world=None): if world is None: world = app.App.get_running_world() if dimensions is None: new_rect = pygame.Rect(0, 0, world.tile_size, world.tile_size) else: new_rect = pygame.Rect(0, 0, dimensions[0], dimensions[1]) new_rect.topleft = position return new_rect
[Doku] @classmethod def from_actor(cls, actor): return Rect.create(actor.get_global_rect())
@property def world(self): return app.App.get_running_world()