IMonsterCaptureEngine
Главная точка входа SDK Monster Capture Engine. Даёт доступ ко всем подсистемам движка через чистые интерфейсы.
Разрешить нужно что-то одно, а всё остальное подвешено к нему. Искать статический синглтон не придётся.
Пространство имён: OpenMon.MCE.SDK
Определение
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; }
}
Свойства
Database
| Тип | IMonsterDatabase |
| Описание | Доступ только для чтения к базе данных монстров. Запрашивайте виды, приёмы, предметы, способности и эффективность типов. |
Battle
| Тип | IBattleSystem |
| Описание | Проверка состояния боя и подписка на события. Проверяйте, активен ли бой, и получайте уведомления о начале и окончании сражений (хуки движка, которые их питают, пока не подключены: см. IBattleSystem). |
Player
| Тип | IPlayerData |
| Описание | Доступ к текущему состоянию игрока: партия, деньги, имя и число значков. |
SaveSystem
| Тип | ISaveSystem |
| Описание | Запросы на сохранение и загрузку по слотам с уведомлениями о событиях (пока не подключены к сохранениям движка: см. ISaveSystem). |
Version
| Тип | string |
| Описание | Строка версии движка MCE (например, "1.1.0"). |
Использование
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}");
}
}