Код: Выделить всё
if isinstance(inv, src.components.inventory.Inventory):
inv.items.remove(entity)
< /code>
Но чек идет не так, потому что тип класса отличается от импорта: < /p>
print(f"type of inv: {type(inv)}")
< /code>
Результаты < /p>
type of inv:
Как я могу решить эту проблему? Я мог бы сделать сравнение строк, но затем мне не хватает типа, чтобы иметь возможность вызовать удалить.
Код: Выделить всё
class BaseComponent:
...
Код: Выделить всё
from src.components.base_component import BaseComponent
class Inventory(BaseComponent):
...
Код: Выделить всё
from src.components.inventory import Inventory
class Consumable(BaseComponent):
def consume(self) -> None:
entity = self.parent
inv = entity.parent
if isinstance(inv, Inventory):
inv.items.remove(entity)
Если вы понизите вопрос, напишите почему, чтобы я знал, какая информация отсутствует, и могу ее добавить.
Подробнее здесь: https://stackoverflow.com/questions/796 ... class-type