IMonsterCaptureEngine
The main entry point for the Monster Capture Engine SDK. Provides access to all engine subsystems via clean interfaces.
One thing to resolve, and the rest hangs off it. There is no static singleton to hunt down.
Namespace: OpenMon.MCE.SDK
Definition
public interface IMonsterCaptureEngine
{
/// <summary>Access to monster database queries.</summary>
IMonsterDatabase Database { get; }
/// <summary>Access to battle system.</summary>
IBattleSystem Battle { get; }
/// <summary>Access to the player's data (roster, inventory, progression).</summary>
IPlayerData Player { get; }
/// <summary>Access to save/load functionality.</summary>
ISaveSystem SaveSystem { get; }
/// <summary>Engine version string.</summary>
string Version { get; }
}
Properties
Database
| Type | IMonsterDatabase |
| Description | Read-only access to the monster database. Query species, moves, items, abilities, and type effectiveness. |
Battle
| Type | IBattleSystem |
| Description | Battle state checking and event subscription. Check if a battle is active and receive notifications when battles start and end (the engine hooks that feed these are not connected yet: see IBattleSystem). |
Player
| Type | IPlayerData |
| Description | Access the player's current state: roster, money, name, and badge count. |
SaveSystem
| Type | ISaveSystem |
| Description | Save and load requests by slot, with event notifications (not connected to the engine's saves yet: see ISaveSystem). |
Version
| Type | string |
| Description | The MCE engine version string (e.g., "1.1.0"). |
Usage
using OpenMon.MCE.SDK;
using Zenject;
public class MyGameFeature : MonoBehaviour
{
[Inject] private IMonsterCaptureEngine engine;
private void Start()
{
Debug.Log($"Running MCE v{engine.Version}");
Debug.Log($"Monsters: {engine.Database.MonsterCount}");
Debug.Log($"In battle: {engine.Battle.IsInBattle}");
}
}