Skip to content

Rules — Ordering

Folder Overview

This folder defines the canonical priority constants used by rule systems.

It acts as the single source of truth for rule execution ordering.


Purpose

Ordering constants exist to:

  • Ensure deterministic rule execution
  • Provide shared priority bands across rules
  • Avoid hardcoded values in rule implementations

What Lives Here

  • DamageRulePriority
  • HealRulePriority

These define well-known priority ranges used by rule components.


Usage Guidance

Rule implementations use these constants for their Priority:

public int Priority => DamageRulePriority.Armor;

Rule hubs:

  • Sort rules in ascending priority
  • Execute them in that order

Important Notes

Constraints

This folder should contain:

  • Constants only
  • No logic
  • No dependencies on runtime systems

Boundaries

Do not include:

  • Rule implementations
  • Gameplay logic
  • Pipeline execution code
  • Conditional behaviour

This is data-only ordering configuration.


Change Impact

Changing values here:

  • Alters execution order globally
  • Affects all prefabs using rules
  • May impact gameplay balance

Treat changes as global behaviour changes.


  • Rules (Damage / Heal)
  • Rule Hubs
  • Health System