mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
17 lines
424 B
Python
17 lines
424 B
Python
|
|
from dataclasses import dataclass, field
|
||
|
|
from functools import cached_property
|
||
|
|
from typing import Optional, Tuple
|
||
|
|
|
||
|
|
from .game_item import Source
|
||
|
|
|
||
|
|
|
||
|
|
@dataclass(frozen=True)
|
||
|
|
class Building:
|
||
|
|
name: str
|
||
|
|
sources: Tuple[Source, ...] = field(kw_only=True)
|
||
|
|
upgrade_from: Optional[str] = field(default=None, kw_only=True)
|
||
|
|
|
||
|
|
@cached_property
|
||
|
|
def is_upgrade(self) -> bool:
|
||
|
|
return self.upgrade_from is not None
|