Skip to content

Status Effects • Abstractions • Services

Defines injectable services used by the status system.


🎯 Purpose

Services provide externalised logic for:

  • computing status math
  • controlling time flow

🧠 Usage Guidance

The system is designed to be:

  • testable
  • configurable
  • decoupled from Unity defaults

Instead of hardcoding behaviour, services can be swapped or overridden.


🧩 What Lives Here

  • IStatusMathService — computes potency and duration
  • ITimeSource — provides delta time

⚠️ Important Notes

  • These services are optional
  • Default implementations exist in runtime
  • Controllers fall back to defaults when not provided

🚫 Not for Production Use

  • This folder does not contain implementations
  • This folder does not execute runtime logic

  • Core → consumes services for lifecycle and ticking
  • Tests → inject deterministic service implementations

🧠 Mental Model

Services provide the "how", while abstractions define the "what".