20 lines
525 B
Python
20 lines
525 B
Python
from abc import ABC, abstractmethod
|
|
from dataclasses import dataclass
|
|
from typing import TypeVar
|
|
|
|
T = TypeVar("T", bound="BaseResource")
|
|
|
|
@dataclass
|
|
class BaseResource(ABC):
|
|
def on_load(self: T) -> bool:
|
|
"""returns True by default if item loaded, otherwise will be skipped"""
|
|
return True
|
|
|
|
def check_floor_dir(self: T) -> bool:
|
|
"""returns True by default if floor dir exist, otherwise will be skipped"""
|
|
return True
|
|
|
|
@abstractmethod
|
|
def get_index(self) -> str:
|
|
pass
|