Files
2026-02-09 23:53:14 +01:00

37 lines
1.1 KiB
C#

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