IMonsterCaptureEngine
El punto de entrada principal del SDK de Monster Capture Engine. Da acceso a todos los subsistemas del motor mediante interfaces limpias.
Hay una sola cosa que resolver y todo lo demás cuelga de ella. No hay ningún singleton estático que ir a buscar.
Namespace: OpenMon.MCE.SDK
Definición
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; }
}
Propiedades
Database
| Tipo | IMonsterDatabase |
| Descripción | Acceso de solo lectura a la base de datos de monstruos. Consulta especies, movimientos, objetos, habilidades y efectividad de tipos. |
Battle
| Tipo | IBattleSystem |
| Descripción | Comprobación del estado de la batalla y suscripción a eventos. Comprueba si hay una batalla activa y recibe notificaciones cuando las batallas comienzan y terminan (los ganchos del motor que las alimentan todavía no están conectados: consulta IBattleSystem). |
Player
| Tipo | IPlayerData |
| Descripción | Acceso al estado actual del jugador: equipo, dinero, nombre y cantidad de medallas. |
SaveSystem
| Tipo | ISaveSystem |
| Descripción | Solicitudes de guardado y carga por ranura, con notificaciones de eventos (todavía no conectadas a los guardados del motor: consulta ISaveSystem). |
Version
| Tipo | string |
| Descripción | La cadena de versión del motor MCE (por ejemplo, "1.1.0"). |
Uso
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}");
}
}