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
Gondwana.Movement.Scripted.ScriptedMovement Struct Reference

Represents 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). More...

Public Attributes

MovementScriptType Type
 The type of movement script currently active. Determines which fields are relevant and how the movement is calculated. See MovementScriptType for available movement modes.
Vector2 Origin
 The starting position captured when the movement script was initiated. Used primarily by MovementScriptType.TweenTo to calculate interpolation between the origin and target over the specified duration.
Vector2 Target
 The target position or destination for the movement. For MovementScriptType.TweenTo, this is the final position after interpolation completes. For MovementScriptType.Toward, this is the position the object continuously moves toward.
float DurationSec
 The total duration of the movement in seconds. Only used by MovementScriptType.TweenTo to determine the interpolation timeframe. The tween completes when ElapsedSec reaches this value, regardless of distance traveled.
float ElapsedSec
 The elapsed time in seconds since the movement script started. Only used by MovementScriptType.TweenTo to track progress through the tween. Normalized to [0,1] as (ElapsedSec / DurationSec) before applying the easing function.
float SpeedPerSec
 The movement speed in units per second. Only used by MovementScriptType.Toward for continuous directional movement. Determines how quickly the object moves toward the target position each frame.
float SnapEpsilon
 The distance threshold for snapping to the target position. When the object is within this epsilon distance from the target, it snaps exactly to the target and the movement is considered complete. Prevents endless micro-adjustments and floating-point precision issues. Used by both MovementScriptType.TweenTo and MovementScriptType.Toward.
Func< float, float >? Easing
 Optional easing function applied to the normalized time value during interpolation. Only used by MovementScriptType.TweenTo to control the acceleration curve. If null, linear interpolation is used. See EasingFunctions for available easing curves. The function should accept a value in [0,1] and return a smoothed value in [0,1].

Detailed Description

Represents 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).

Member Data Documentation

◆ DurationSec

float Gondwana.Movement.Scripted.ScriptedMovement.DurationSec

The total duration of the movement in seconds. Only used by MovementScriptType.TweenTo to determine the interpolation timeframe. The tween completes when ElapsedSec reaches this value, regardless of distance traveled.

◆ Easing

Func<float, float>? Gondwana.Movement.Scripted.ScriptedMovement.Easing

Optional easing function applied to the normalized time value during interpolation. Only used by MovementScriptType.TweenTo to control the acceleration curve. If null, linear interpolation is used. See EasingFunctions for available easing curves. The function should accept a value in [0,1] and return a smoothed value in [0,1].

◆ ElapsedSec

float Gondwana.Movement.Scripted.ScriptedMovement.ElapsedSec

The elapsed time in seconds since the movement script started. Only used by MovementScriptType.TweenTo to track progress through the tween. Normalized to [0,1] as (ElapsedSec / DurationSec) before applying the easing function.

◆ Origin

Vector2 Gondwana.Movement.Scripted.ScriptedMovement.Origin

The starting position captured when the movement script was initiated. Used primarily by MovementScriptType.TweenTo to calculate interpolation between the origin and target over the specified duration.

◆ SnapEpsilon

float Gondwana.Movement.Scripted.ScriptedMovement.SnapEpsilon

The distance threshold for snapping to the target position. When the object is within this epsilon distance from the target, it snaps exactly to the target and the movement is considered complete. Prevents endless micro-adjustments and floating-point precision issues. Used by both MovementScriptType.TweenTo and MovementScriptType.Toward.

◆ SpeedPerSec

float Gondwana.Movement.Scripted.ScriptedMovement.SpeedPerSec

The movement speed in units per second. Only used by MovementScriptType.Toward for continuous directional movement. Determines how quickly the object moves toward the target position each frame.

◆ Target

Vector2 Gondwana.Movement.Scripted.ScriptedMovement.Target

The target position or destination for the movement. For MovementScriptType.TweenTo, this is the final position after interpolation completes. For MovementScriptType.Toward, this is the position the object continuously moves toward.

◆ Type

MovementScriptType Gondwana.Movement.Scripted.ScriptedMovement.Type

The type of movement script currently active. Determines which fields are relevant and how the movement is calculated. See MovementScriptType for available movement modes.