using UnityEngine.SceneManagement;
namespace OctoCore
{
///
/// Base interface for all OctoCore modules.
/// Defines the lifecycle methods that all modules must implement.
///
public interface IOctoModule
{
///
/// Initializes the module with global settings.
/// Called once during OctoCore startup.
///
/// Global settings configuration.
void Init(OctoSettings settings);
///
/// Called every frame to update the module.
///
void Tick();
///
/// Called when a scene change occurs.
///
/// The scene being left.
/// The scene being loaded.
void OnSceneChanged(Scene current, Scene next);
///
/// Called when the application is quitting.
/// Use this for cleanup and saving final state.
///
void OnQuit();
}
}