Gondwana Game Engine
Gondwana is a cross-platform 2.5D game and rendering engine written in C#/.NET 8. It provides fine-grained control over rendering, timing, and scene composition, with built-in support for parallax, z-ordering, pixel overhang, collision detection, and particle effects. Gondwana targets desktop, mobile, and web platforms using SkiaSharp for graphics and NAudio for sound.
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 CGondwana.Collision.AabbRepresents an axis-aligned bounding box (AABB) defined by its minimum and maximum coordinates along the X and Y axes. This is the collision area of a Gondwana.Drawing.Tile."
 CGondwana.Assets.AssetsFileIdentifierRepresents an identifier for a specific asset within a file, including its type and name
 CGondwana.Rendering.Views.CameraRepresents a world-space camera for a Scene. The camera tracks a world-space upper-left position in pixels and is used by Views to determine which part of the Scene is visible. It supports snapping, smooth follow, dead zones, and clamping to world bounds
 CGondwana.Drawing.Collisions.CollisionDetectionAdjustmentPixel adjustments applied to a Tile's DrawLocation to produce its collision box. Positive values shrink/expand the collision rect relative to the visual rect
 CGondwana.Collision.CollisionResult
 CGondwana.Collision.CollisionWorld
 CGondwana.Drawing.Sprites.CompositeSprite
 CGondwana.Drawing.Direct.DirectDrawingManagerManages the lifecycle, registration, and retrieval of all direct drawing objects in the Gondwana engine
 CGondwana.Configuration.EngineConfigurationSettings used by the engine when cycling
 CGondwana.EngineStateRepresents the complete serializable state of the game engine, including assets, scenes, sprites, audio resources, and custom data. This class provides functionality to save and load engine state to/from files with support for selective state management, compression, and merge operations. The state can be persisted as JSON and optionally compressed using GZip compression
 CEventArgs
 CGondwana.Drawing.FrameRepresents the source Tilesheet and its coordinates to render on a destination
 CGondwana.Input.Gamepad.GamepadEventPollerProvides centralized polling and event management for gamepad button inputs across multiple gamepad devices. This singleton class monitors registered buttons on connected gamepads and raises events when buttons are pressed, with support for event throttling and pause states at both global and per-button levels
 CGondwana.Input.Gamepad.GamepadStickStateRepresents the state of an analog stick on a gamepad, including both normalized floating-point values for convenient use in game logic and raw integer values from the underlying input system. This immutable struct provides methods for deadzone processing, direction detection, and magnitude calculation
 CICloneable
 CGondwana.Collision.IColliderWorld-space axis-aligned collider used by the collision system
 CIComparable
 CIDisposable
 CGondwana.Drawing.IDrawableRepresents an object that can be drawn on a visual surface, with properties for visibility and stacking order
 CGondwana.IEngineDispatcherDefines a contract for dispatching actions to the engine's background thread in a thread-safe manner. Implementations of this interface provide mechanisms for posting work items from any thread to be executed on the engine's dedicated update loop thread, ensuring thread-safe access to engine state
 CIEnumerable
 CIEquatable
 CGondwana.Input.Gamepad.IGamepadAdapterDefines an adapter interface for accessing gamepad input state and information
 CGondwana.Input.Gamepad.IGamepadManager< out T >Interface to track a collection of gamepad adapters."/>
 CGondwana.Input.Keyboard.IKeyboardAdapterRepresents an adapter for keyboard input, providing access to the currently pressed keys and active modifier states
 CIMessageFilter
 CGondwana.Input.Mouse.IMouseAdapterDefines an adapter interface for accessing mouse device state, including cursor position, button presses, scroll wheel input, and keyboard modifier states. Implementations of this interface provide abstraction over various mouse input APIs to provide unified access to mouse hardware across different platforms
 CGondwana.Movement.IMovableDefines an object that can be moved within a specific coordinate space
 CIMovableOnSceneLayer
 CGondwana.Input.InputEventConfigurationBaseProvides a base class for input event configuration that implements throttling and pause functionality for various input types (keyboard, mouse, gamepad). This abstract class manages timing between events using high-resolution ticks and tracks the last event occurrence to enable event rate limiting. Derived classes extend this functionality for specific input device types
 CISampleProvider
 CGondwana.IUiDispatcherDefines a contract for dispatching actions to the UI thread in a thread-safe manner. Implementations of this interface provide mechanisms for posting or sending work items from any thread to be executed on the application's main UI thread, ensuring thread-safe access to UI components and controls
 CGondwana.Input.Keyboard.KeyboardEventPollerCross-platform singleton keyboard handler with throttling and manual input state feeding
 CGondwana.Input.Mouse.MouseButtonStateRepresents the current and transitional state of a mouse button, tracking whether the button is currently held down and whether press or release events occurred in the current polling interval. This structure is typically used to detect button state changes and differentiate between continuous button holds and momentary press/release actions
 CGondwana.Input.Mouse.MouseEventPollerProvides centralized polling and event management for mouse input, including button presses, cursor movement, and scroll wheel activity. This singleton class monitors mouse state and raises events with comprehensive information including button states, position data, scroll deltas, and keyboard modifier states, with support for event throttling and pause functionality
 CGondwana.Movement.MovementStateRepresents the current motion state of an IMovable object, including velocity, acceleration, damping, and active scripted movements. This structure is used by MovementController to track and manage both physics-based (integrated) and scripted motion behaviors
 CGondwana.Drawing.Direct.Particles.ParticleRepresents a single particle instance in the particle system
 CGondwana.Drawing.Direct.Particles.ParticleEmitterConfigures how particles are spawned over time at a given location
 CGondwana.Rendering.RenderSurfaceAdapterBase
 CGondwana.Rendering.RenderSurfaceAdapterResizedEventArgsProvides data for the RenderSurfaceAdapterBase.Resized event
 CGondwana.Movement.Scripted.ScriptedMovementRepresents the state and parameters of a scripted movement operation applied to an object. Supports two movement modes: tween-based interpolation (MovementScriptType.TweenTo) and continuous directional movement (MovementScriptType.Toward)
 CGondwana.Drawing.Tilesheets.TilesheetRegistryThread-safe singleton registry for Tilesheet instances
 CUserControl
 CGondwana.Rendering.Views.ViewRepresents a rendered view of a scene, combining a camera position with a viewport configuration to control what portion of the world is visible and how it is displayed on screen. Multiple views can be used to create split-screen, picture-in-picture, or other multi-viewport rendering scenarios
 CGondwana.Rendering.Views.ViewManagerManages a collection of views for a render surface, handling view creation, removal, ordering, and multi-viewport layouts. Each view combines a camera and viewport to control what portion of the scene is rendered and where it appears on screen
 CGondwana.Rendering.Views.ViewportA rectangular window on the render target with its own zoom and placement. Viewport never moves the world; it only scales and positions the drawing
 CGondwana.Rendering.Views.ViewportResizedEventArgsProvides data for the Viewport.TargetRectChanged event, which is raised when a viewport's target rectangle is resized or repositioned on the render surface
 CGondwana.Rendering.Views.ViewportZoomChangedEventArgsProvides data for the Viewport.ZoomChanged event, which is raised when a viewport's zoom level changes either through direct assignment or animated zoom transitions
 CWaveStream