Code: Select all
if isinstance(inv, src.components.inventory.Inventory):
inv.items.remove(entity)
< /code>
, aber die Prüfung geht schief, da sich der Klassentyp vom Import unterscheidet: < /p>
print(f"type of inv: {type(inv)}")
< /code>
führt zu < /p>
type of inv:
Wie kann ich dieses Problem lösen? Ich könnte einen String -Vergleich durchführen, aber dann fehlt mir der Typ, um Entfernung aufzurufen.
Code: Select all
class BaseComponent:
...
Code: Select all
from src.components.base_component import BaseComponent
class Inventory(BaseComponent):
...
Code: Select all
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)