package com.livingworld.core.simulation;

/**
 * Enumeration of reasons that trigger an update in the simulation.
 * 
 * <p>This enum captures why a particular region or module needs to be re-evaluated
 * or refreshed during the simulation tick cycle.</p>
 */
public enum UpdateReason {

    /** Normal periodic rolling update from the simulation tick counter. */
    NORMAL_ROLLING_UPDATE,

    /** A player has entered the proximity threshold of a region. */
    PLAYER_NEARBY,

    /** Pollution levels in a region have crossed a critical threshold. */
    HIGH_POLLUTION,

    /** Soil quality has degraded below acceptable thresholds. */
    LOW_SOIL_QUALITY,

    /** An active ecosystem event is currently affecting the region. */
    ACTIVE_ECOSYSTEM_EVENT,

    /** Debug trigger via command to force an immediate update. */
    FORCED_DEBUG_COMMAND,

    /** Save data requires migration due to schema changes. */
    SAVE_MIGRATION_REQUIRED;

}
