Skip to main content

IMonsterCaptureEngine

The main entry point for the Monster Capture Engine SDK. Provides access to all engine subsystems via clean interfaces.

imonster capture engine

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​

TypeIMonsterDatabase
DescriptionRead-only access to the monster database. Query species, moves, items, abilities, and type effectiveness.

Battle​

TypeIBattleSystem
DescriptionBattle 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​

TypeIPlayerData
DescriptionAccess the player's current state: roster, money, name, and badge count.

SaveSystem​

TypeISaveSystem
DescriptionSave and load requests by slot, with event notifications (not connected to the engine's saves yet: see ISaveSystem).

Version​

Typestring
DescriptionThe 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}");
}
}