Class ProgressionCheckpointManager
Tracks and manages progression checkpoints in a level-based scene.
This component collects all ProgressionCheckpoint instances in the scene during Start()
and subscribes to their activation events. Each time a checkpoint is activated, the internal count of completed
checkpoints is updated.
The component calculates the current level progression (as a value between 0 and 1) every frame and publishes it via an IEventAggregator using a LevelProgressionMessage. This allows other systems (e.g., UI progress bars, achievement triggers) to react to the player's progress through the level.
Note: This class assumes that all checkpoints are available at Start() and remain static during gameplay.
[DisallowMultipleComponent]
public class ProgressionCheckpointManager : MonoBehaviour
Inheritance
Remarks
Only one ProgressionCheckpointManager should exist per level. Multiple instances may result in conflicted or inconsistent progression data.