Skip to content

RevFramework — Status Effects • Unity Integration

Optional Unity-facing components that support status math resolution and provider aggregation.

This folder contains MonoBehaviour-based helpers that integrate the Status Effects system into Unity GameObject workflows.


Purpose

Provides optional components that:

  • implement IStatusMathService
  • optimise status math using cached provider lookups
  • bridge abstract contracts into Unity component patterns

These are convenience and performance helpers, not required system components.


Usage Guidance

The Status system defines math via IStatusMathService.

Without setup, math is resolved via StatusUtility:

  • simple
  • queries providers per call

This folder offers an alternative:

  • component-based math service
  • cached provider aggregation

Choose between:

  • simple (no setup)
  • optimised (component-driven)

What Lives Here

DefaultStatusMathService

MonoBehaviour implementation of IStatusMathService.

Behaviour:

  • uses StatusProviderAggregator when present
  • falls back to StatusUtility otherwise

StatusProviderAggregator

Caches provider components on a GameObject:

  • IStatusPotency
  • IStatusResistance

Behaviour:

  • collects providers on enable
  • clears cache on disable
  • supports manual Rebuild()

Notes:

  • scans components on the same GameObject
  • does not traverse hierarchy

Folder Overview

  • component-based math service
  • cached provider aggregation
  • fallback compatibility with base system

Important Notes

  • This folder changes how math is resolved, not the math rules
  • Removing the aggregator falls back to StatusUtility
  • Rebuild() is required if providers change at runtime
  • Components are optional and not required for system operation

Diagnostics

Common pitfalls:

  • expecting aggregation across hierarchy (not supported by default)
  • forgetting to rebuild cache after runtime changes
  • assuming this layer changes gameplay behaviour

Not for Production Use

Optional components; the runtime core does not depend on them

  • this folder does not implement lifecycle logic
  • this folder does not define stacking or authority rules
  • this folder does not contain effect behaviour

  • Abstractions → IStatusMathService, providers
  • Core → controller and lifecycle
  • System → StatusUtility fallback helpers

Mental Model

This layer optimises how math is resolved.

It does not change what the math is.