任意のクラスにインターフェースを実装することで
エンジンと連携したコンポーネントやハンドラを作成することができます。
IJNEventHandler
エンジンからの各種コールバックを受け取る
| Method |
notes |
| void OnExecute(JNCommandBundle) |
実行されたコマンドを受け取る |
| void OnExecuted(JNCommandBundle) |
実行済みのコマンドを受け取る |
| void OnAddBacklog(List) |
IAddBacklogを実装した実行済みのコマンドを取得する |
| void OnLoadProgress(int, int) |
シナリオのロード進捗を取得する |
| void OnLoadFinish() |
ロード完了 |
| void OnFinish(object) |
シナリオの再生終了 |
IJNResourceHandler
標準で提供されるコマンドからのリソースのロードは、本インターフェースを通して要求される
型引数Tは要求されるリソースの型を示す
| Method |
notes |
| IEnumerator OnResourceLoad(JNResourceRequest) |
リソースのロード要求 |
| IEnumerator OnPreprocessResourceLoad(JNResourceRequest) |
リソースのプレロード要求 |
IJNInputHandler
エンジンから各イベントへの登録が行われる
任意のタイミングや処理でイベントの発火を行う必要がある
| event |
notes |
| Action EOnClick |
クリック判定イベント |
クリックの判定を任意の処理に仕込むことができる。
public class InputHandler : MonoBehaviour, IPointerClickHandler, IJNInputHandler
{
public event Action EOnClick;
public void OnPointerClick(PointerEventData pointerEventData)
{
EOnClick.Invoke();
}
}
IJNView
実装したクラスをエンジンに登録することで、全コマンドのAwakeで渡される
Scene内部への処理はそのViewを通して処理することができる
| Method |
notes |
| void Initialize() |
初期化 |
IJNCanvasUI
標準で提供されるCanvas操作を含むコマンドを使用する際には
IJNViewを実装したクラスに、本インターフェースを実装する
| Property |
notes |
| JNCanvasManager CanvasManager |
get |
IJNSelectUI
標準で提供されるSelectコマンドを使用する際には
IJNViewを実装したクラスに、本インターフェースを実装する
| Property |
notes |
| JNSelectWindow SelectWindow |
get |
IJNTextUI
標準で提供されるTextコマンドを使用する際には
IJNViewを実装したクラスに、本インターフェースを実装する
| Property |
notes |
| JNTextWindow TextWindow |
get |