/
Vibek
/
First_Game
Обзор
Документация
Войти
/
Vibek
/
First_Game
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
resources/entity_profile.py
39 строк
1 KB
Vibek
Спрайты и хитбоксы натянуты и синхронизированы
19 июн 2026, 13:56
19 июн 2026, 13:56
e17c6dd
Код
Авторство
О чём код?
"""DTO профилей сущностей (данные, без PyGame).""" from dataclasses import dataclass from models.hitbox import HitboxDef @dataclass(frozen=True) class SpriteLayout: """Параметры отображения спрайта относительно хитбокса.""" scale: float anchor_x: float anchor_y: float draw_offset_x: float = 0.0 draw_offset_y: float = 0.0 angle_offset_deg: float = 0.0 colorkey: tuple[int, int, int] | None = None colorkey_tolerance: int = 0 @dataclass(frozen=True) class ThrownSwordLayout: """Параметры фаз броска меча (Model-конфиг, без PyGame).""" outward_hit_radius: float spin_speed: float return_angle_offset_deg: float = 180.0 return_art_angle_offset_deg: float = 0.0 @dataclass(frozen=True) class EntityProfile: """Конфигурация одной игровой сущности: коллизия + набор спрайтов.""" name: str hitbox: HitboxDef sprite: SpriteLayout sprites: dict[str, str] thrown_sword: ThrownSwordLayout | None = None