209 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			209 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			Python
		
	
	
	
"""Type stubs for McRogueFace Python API.
 | 
						|
 | 
						|
Auto-generated - do not edit directly.
 | 
						|
"""
 | 
						|
 | 
						|
from typing import Any, List, Dict, Tuple, Optional, Callable, Union
 | 
						|
 | 
						|
# Module documentation
 | 
						|
# McRogueFace Python API\n\nCore game engine interface for creating roguelike games with Python.\n\nThis module provides:\n- Scene management (createScene, setScene, currentScene)\n- UI components (Frame, Caption, Sprite, Grid)\n- Entity system for game objects\n- Audio playback (sound effects and music)\n- Timer system for scheduled events\n- Input handling\n- Performance metrics\n\nExample:\n    import mcrfpy\n    \n    # Create a new scene\n    mcrfpy.createScene('game')\n    mcrfpy.setScene('game')\n    \n    # Add UI elements\n    frame = mcrfpy.Frame(10, 10, 200, 100)\n    caption = mcrfpy.Caption('Hello World', 50, 50)\n    mcrfpy.sceneUI().extend([frame, caption])\n
 | 
						|
 | 
						|
# Classes
 | 
						|
 | 
						|
class Animation:
 | 
						|
    """Animation object for animating UI properties"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def get_current_value(self, *args, **kwargs) -> Any: ...
 | 
						|
    def start(self, *args, **kwargs) -> Any: ...
 | 
						|
    def update(selfreturns True if still running) -> Any: ...
 | 
						|
 | 
						|
class Caption:
 | 
						|
    """Caption(text='', x=0, y=0, font=None, fill_color=None, outline_color=None, outline=0, click=None)"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
 | 
						|
class Color:
 | 
						|
    """SFML Color Object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def from_hex(selfe.g., '#FF0000' or 'FF0000') -> Any: ...
 | 
						|
    def lerp(self, *args, **kwargs) -> Any: ...
 | 
						|
    def to_hex(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
class Drawable:
 | 
						|
    """Base class for all drawable UI elements"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
 | 
						|
class Entity:
 | 
						|
    """UIEntity objects"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def at(self, *args, **kwargs) -> Any: ...
 | 
						|
    def die(self, *args, **kwargs) -> Any: ...
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def index(self, *args, **kwargs) -> Any: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def path_to(selfx: int, y: int) -> bool: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
    def update_visibility(self) -> None: ...
 | 
						|
 | 
						|
class EntityCollection:
 | 
						|
    """Iterable, indexable collection of Entities"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def append(self, *args, **kwargs) -> Any: ...
 | 
						|
    def count(self, *args, **kwargs) -> Any: ...
 | 
						|
    def extend(self, *args, **kwargs) -> Any: ...
 | 
						|
    def index(self, *args, **kwargs) -> Any: ...
 | 
						|
    def remove(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
class Font:
 | 
						|
    """SFML Font Object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class Frame:
 | 
						|
    """Frame(x=0, y=0, w=0, h=0, fill_color=None, outline_color=None, outline=0, click=None, children=None)"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
 | 
						|
class Grid:
 | 
						|
    """Grid(x=0, y=0, grid_size=(20, 20), texture=None, tile_width=16, tile_height=16, scale=1.0, click=None)"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def at(self, *args, **kwargs) -> Any: ...
 | 
						|
    def compute_astar_path(selfx1: int, y1: int, x2: int, y2: int, diagonal_cost: float = 1.41) -> List[Tuple[int, int]]: ...
 | 
						|
    def compute_dijkstra(selfroot_x: int, root_y: int, diagonal_cost: float = 1.41) -> None: ...
 | 
						|
    def compute_fov(selfx: int, y: int, radius: int = 0, light_walls: bool = True, algorithm: int = FOV_BASIC) -> None: ...
 | 
						|
    def find_path(selfx1: int, y1: int, x2: int, y2: int, diagonal_cost: float = 1.41) -> List[Tuple[int, int]]: ...
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def get_dijkstra_distance(selfx: int, y: int) -> Optional[float]: ...
 | 
						|
    def get_dijkstra_path(selfx: int, y: int) -> List[Tuple[int, int]]: ...
 | 
						|
    def is_in_fov(selfx: int, y: int) -> bool: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
 | 
						|
class GridPoint:
 | 
						|
    """UIGridPoint object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class GridPointState:
 | 
						|
    """UIGridPointState object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class Scene:
 | 
						|
    """Base class for object-oriented scenes"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def activate(self, *args, **kwargs) -> Any: ...
 | 
						|
    def get_ui(self, *args, **kwargs) -> Any: ...
 | 
						|
    def register_keyboard(selfalternative to overriding on_keypress) -> Any: ...
 | 
						|
 | 
						|
class Sprite:
 | 
						|
    """Sprite(x=0, y=0, texture=None, sprite_index=0, scale=1.0, click=None)"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def get_bounds(selfx, y, width, height) -> Any: ...
 | 
						|
    def move(selfdx, dy) -> Any: ...
 | 
						|
    def resize(selfwidth, height) -> Any: ...
 | 
						|
 | 
						|
class Texture:
 | 
						|
    """SFML Texture Object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class Timer:
 | 
						|
    """Timer object for scheduled callbacks"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def cancel(self, *args, **kwargs) -> Any: ...
 | 
						|
    def pause(self, *args, **kwargs) -> Any: ...
 | 
						|
    def restart(self, *args, **kwargs) -> Any: ...
 | 
						|
    def resume(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
class UICollection:
 | 
						|
    """Iterable, indexable collection of UI objects"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def append(self, *args, **kwargs) -> Any: ...
 | 
						|
    def count(self, *args, **kwargs) -> Any: ...
 | 
						|
    def extend(self, *args, **kwargs) -> Any: ...
 | 
						|
    def index(self, *args, **kwargs) -> Any: ...
 | 
						|
    def remove(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
class UICollectionIter:
 | 
						|
    """Iterator for a collection of UI objects"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class UIEntityCollectionIter:
 | 
						|
    """Iterator for a collection of UI objects"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
class Vector:
 | 
						|
    """SFML Vector Object"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def angle(self, *args, **kwargs) -> Any: ...
 | 
						|
    def copy(self, *args, **kwargs) -> Any: ...
 | 
						|
    def distance_to(self, *args, **kwargs) -> Any: ...
 | 
						|
    def dot(self, *args, **kwargs) -> Any: ...
 | 
						|
    def magnitude(self, *args, **kwargs) -> Any: ...
 | 
						|
    def magnitude_squared(self, *args, **kwargs) -> Any: ...
 | 
						|
    def normalize(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
class Window:
 | 
						|
    """Window singleton for accessing and modifying the game window properties"""
 | 
						|
    def __init__(selftype(self)) -> None: ...
 | 
						|
 | 
						|
    def center(self, *args, **kwargs) -> Any: ...
 | 
						|
    def get(self, *args, **kwargs) -> Any: ...
 | 
						|
    def screenshot(self, *args, **kwargs) -> Any: ...
 | 
						|
 | 
						|
# Functions
 | 
						|
 | 
						|
def createScene(name: str) -> None: ...
 | 
						|
def createSoundBuffer(filename: str) -> int: ...
 | 
						|
def currentScene() -> str: ...
 | 
						|
def delTimer(name: str) -> None: ...
 | 
						|
def exit() -> None: ...
 | 
						|
def find(name: str, scene: str = None) -> UIDrawable | None: ...
 | 
						|
def findAll(pattern: str, scene: str = None) -> list: ...
 | 
						|
def getMetrics() -> dict: ...
 | 
						|
def getMusicVolume() -> int: ...
 | 
						|
def getSoundVolume() -> int: ...
 | 
						|
def keypressScene(handler: callable) -> None: ...
 | 
						|
def loadMusic(filename: str) -> None: ...
 | 
						|
def playSound(buffer_id: int) -> None: ...
 | 
						|
def sceneUI(scene: str = None) -> list: ...
 | 
						|
def setMusicVolume(volume: int) -> None: ...
 | 
						|
def setScale(multiplier: float) -> None: ...
 | 
						|
def setScene(scene: str, transition: str = None, duration: float = 0.0) -> None: ...
 | 
						|
def setSoundVolume(volume: int) -> None: ...
 | 
						|
def setTimer(name: str, handler: callable, interval: int) -> None: ...
 | 
						|
 | 
						|
# Constants
 | 
						|
 | 
						|
FOV_BASIC: int
 | 
						|
FOV_DIAMOND: int
 | 
						|
FOV_PERMISSIVE_0: int
 | 
						|
FOV_PERMISSIVE_1: int
 | 
						|
FOV_PERMISSIVE_2: int
 | 
						|
FOV_PERMISSIVE_3: int
 | 
						|
FOV_PERMISSIVE_4: int
 | 
						|
FOV_PERMISSIVE_5: int
 | 
						|
FOV_PERMISSIVE_6: int
 | 
						|
FOV_PERMISSIVE_7: int
 | 
						|
FOV_PERMISSIVE_8: int
 | 
						|
FOV_RESTRICTIVE: int
 | 
						|
FOV_SHADOW: int
 | 
						|
default_font: Any
 | 
						|
default_texture: Any |