RevFramework — Status Effects • Demo Support¶
Helper scripts used by Status Effects demo scenes and Teachable Panels.
These components exist to scaffold behaviour, illustrate contracts, and
make system flow visible — they are not required in production.
Table of Contents¶
Overview¶
The DemoSupport folder contains lightweight MonoBehaviours used by:
- Status Effect demo scenes
- Teachable Panels
- Video capture / inspection setups
They intentionally implement interfaces, not systems, so that the same teachable UI and Status logic works whether:
- the real Health module is installed, or
- a demo-only scaffold (
DemoHealth) is used instead.
These scripts live firmly in the demo layer and are safe to delete.
What This Folder Teaches¶
These components quietly demonstrate several core RevFramework ideas:
-
Contract-first design
Status talks toIDamageable,ITimeSource,IStatusPotency, etc. — never concrete systems. -
Optional systems done properly
Demo scaffolds stand in for real modules without changing behaviour flow. -
Signals over pipelines
Demo health emits simple events (Damaged,Died,Revived) without recreating the full Health pipeline. -
Visual feedback decoupled from logic
Flash / fade effects respond to signals, not gameplay rules.
Together with Teachable Panels, this folder shows how the real system works without requiring every module to be installed.
Components¶
| Script | Purpose |
|---|---|
DemoAuthorityTimeSource |
Implements ITimeSource; allows ticking to be frozen or scaled to demonstrate authority-driven updates. |
DemoLoopMover |
Moves an object in a visible loop, scaled by MovementSpeedScaler.Factor for live feedback. |
DemoStatusImmunity |
Implements IStatusImmunity (exact ID or tag-based) for immunity demos. |
DemoStatusPotency |
Implements IStatusPotency for per-target magnitude scaling. |
DemoStatusResistance |
Implements IStatusResistance for per-target duration scaling. |
DemoStatusPotencyAura |
Simple, editor-driven aura demonstrating potency / duration modifiers. |
DemoHealth |
Minimal demo-only health scaffold implementing IDamageable. Emits simple lifecycle signals. |
DemoHealthDebugPanel |
Lightweight debug panel for inspecting and driving demo health during Status demos. |
DemoDamageFlashOnHit |
Visual feedback: flashes the renderer when demo damage is applied. |
DemoDeathFadeToBlack |
Visual feedback: fades the renderer on demo death and restores on revive. |
Usage¶
Attach these helpers directly to actors in demo scenes or testbeds.
// Example: Adding demo potency scaling
var pot = gameObject.AddComponent<DemoStatusPotency>();
pot.all = 1.2f; // +20% potency
All components are editor-configured — no setup scripts or assets required.
Teachable Panels will automatically interact with these via shared interfaces
(e.g. IDamageable), exactly as they would with real runtime systems.
Gotchas¶
- These components are not part of runtime assemblies.
- They live in DemoSupport assemblies (not runtime, not samples).
- Safe to delete if you don’t use the demo scenes.
- They intentionally avoid XML docs to prevent being mistaken for supported API.
- Behaviour is illustrative, not authoritative.
Extending¶
- Use these scripts as templates for your own test sinks or simulation helpers.
- Examples:
DemoStatusResistance→DemoStatusArmorResistanceDemoStatusPotency→ elemental or difficulty-based multipliersDemoHealth→ quick mock targets for combat experiments- Keep any demo scaffolds in non-referenced assemblies so they never ship.