Skip to content

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 to IDamageable, 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:
  • DemoStatusResistanceDemoStatusArmorResistance
  • DemoStatusPotency → elemental or difficulty-based multipliers
  • DemoHealth → quick mock targets for combat experiments
  • Keep any demo scaffolds in non-referenced assemblies so they never ship.

See also: - Samples - Runtime - Auras