IFramework interface
Per-frame callbacks driven by the game’s main update loop. Timing / main-thread-marshalling members (Post, Every, TimeNow) are inherited from IFrameworkTiming.
public interface IFramework : IFrameworkTimingMembers
Section titled “Members”| name | description |
|---|---|
| CanvasHeight { get; } | Height of the window overlay in CANVAS UNITS (design space) = ScreenHeight ÷ UI scaleFactor. See CanvasWidth. |
| CanvasWidth { get; } | Width of the window overlay in CANVAS UNITS (design space) = ScreenWidth ÷ UI scaleFactor. Position and size windows in these units so they scale with the UI (WindowRect is in canvas units). For HUD sizing that must track physical pixels, use ScreenWidth instead. |
| EffectiveUpdateRateHz { get; } | The rate this plugin is currently ticking at (Hz). Reflects the user’s per-plugin config plus any dynamic ramp this plugin is currently holding. |
| FrameCount { get; } | Monotonic frame counter incremented before each Update dispatch. |
| ScreenHeight { get; } | Current display height in pixels. Updated once per frame before Update fires. |
| ScreenWidth { get; } | Current display width in pixels. Updated once per frame before Update fires. |
| event Update | Fired once per game frame. Argument is deltaTime in seconds. |
| RequestUpdateRate(…) | Ask the framework to tick THIS plugin at no less than hz until the returned scope is disposed. Requests stack (the maximum wins). The value is clamped to the supported range. Returns an inert (no-op) scope unless the user granted this plugin rate-control permission, so calling it is always safe. |
See Also
Section titled “See Also”- interface IFrameworkTiming
- namespace Stellar.Abstractions.Services