Popcorning Guinea Pig
Search Results for

    Show / Hide Table of Contents

    Namespace PopcorningGuineaPig.Engine.Gameplay

    Classes

    AnimatedModelCache

    Singleton cache managing shared AnimatedModelData instances with reference counting. Ensures each unique GLB file is loaded into GPU memory only once.

    AnimatedModelData

    Shared data for an animated GLB model (Flyweight intrinsic state). Loads the Raylib Model and all skeletal ModelAnimations once per unique file path. Instances share this data via AnimatedModelInstance structs.

    DragDropManager

    Manages drag and drop operations for DraggableModel instances. Handles mouse state tracking, drag detection, and 3D mouse projection.

    DraggableModel

    Component that makes a 3D model draggable with smooth animations. Provides lift, follow, and drop animations for drag and drop interactions.

    GameTile

    Represents a single tile in a grid-based game system. Flexible design supports board games, 2D adventure games, puzzles, and more.

    GpuSkinning

    Lighting knobs on the shared GPU-skinning shader. Defaults are unlit (white ambient, sun off) so games that never call this look exactly as they did.

    Player

    SteamActionEdgeBuffer

    One-frame press edges for named Steam Input actions. BeginFrame() clears presses only; held state survives so a held button does not re-fire.

    SteamInputGlyphs

    Maps a Steam Input EInputActionOrigin name to a pad family and a face slot. PlayStation Cross/Circle/Square/Triangle land on the same slots as Xbox A/B/X/Y. Unknown devices return false so the caller keeps its fallback.

    SteamManager

    SteamPlayer

    TMXLoader

    Utility class for loading TMX (Tiled Map eXchange) files. Supports Base64 uncompressed and CSV tile data formats.

    TileGrid

    Manages a 2D grid of GameTiles for grid-based games. Provides efficient access, spatial queries, and occupancy management.

    TileProperties

    Properties for individual tiles within a tileset.

    Tilemap

    Represents a complete tilemap loaded from a TMX file. Contains multiple layers, tilesets, and provides rendering capabilities.

    TilemapLayer

    Represents a single layer within a tilemap. Contains tile data and layer-specific properties.

    TilemapTileMetadata

    Metadata for GameTiles that are part of a tilemap.

    Tileset

    Represents a tileset containing tiles from a texture atlas. Manages texture coordinates and tile properties.

    Structs

    AnimatedModelInstance

    Lightweight per-entity state for an animated model (Flyweight extrinsic state). Playback lives here (~20 bytes); mesh/clips live on the shared AnimatedModelData.

    Pose and draw are adjacent: Update(float) only advances the frame, Draw(Vector3, Vector3, Vector3, Color) uploads bone matrices then draws. Never call Raylib.UpdateModelAnimation on a GPU-skinned model — that writes posed vertices into the VBO, and the shader then skins them again (collapsed/exploded mesh).

    SteamInputGlyphs.Slot

    Enums

    TileType

    Defines the type/category of a game tile. Extensible enum supporting multiple game genres.

    In this article
    Back to top © 2024 Popcorning Guinea Pig Game Engine. A custom C# game engine for indie developers.