Documentation
# This file is automatically generated by componentize-py
# It is not intended for manual editing.
"""
An example world for the component to target.
"""
from typing import TypeVar, Generic, Union, Optional, Protocol, Tuple, List, Any, Self, Callable
from types import TracebackType
from enum import Flag, Enum, auto
from dataclasses import dataclass
from abc import abstractmethod
import weakref

from componentize_py_types import Result, Ok, Err, Some
from .imports import app


class WitWorld(Protocol):

    @abstractmethod
    def spin_cube(self, query: app.Query) -> None:
        """
        An example system
        """
        raise NotImplementedError

    @abstractmethod
    def my_system(self, commands: app.Commands, query: app.Query) -> None:
        """
        Another system
        """
        raise NotImplementedError

    @abstractmethod
    def setup(self, app: app.App) -> None:
        """
        This method is called once on startup for each WASM component (Not Bevy component).
        
        In this method you should register and configure `system`s via the `app` resource
        passed as a parameter.
        """
        raise NotImplementedError