37 lines
1.1 KiB
C#
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();
|
|
}
|
|
}
|