1: エンジンコンポーネントをシーン上のGameObjectにアタッチ
JNEngine
SimpleJsonNovelのメインコンポーネントです。
JNCanvasManager
エンジンからシーン上へのオブジェクト生成の際、親となるオブジェクトを設定します。
JNSettins
JNSettinsのResourcePathはIJNResourceHandler経由で各コマンドからリソース呼び出し時に渡されます。
そのPathとリソース呼び出し側から指定するNameパラメータで読み込むリソースを判別できます。
2: Viewと各種ハンドラをエンジンに登録
[SerializeField]
private JNEngine _novelEngine;
void Start()
{
//Engineへの各種ハンドラ登録
//IJNView
_novelEngine.View = _view;
//IJNInputHandler
_novelEngine.InputHandler = _view.InputHandler;
//IJNEventHandler
_novelEngine.EventHandler = this;
//IJNResourceHandler
_novelEngine.ResourceHandler = this;
SetUp();
}
3: engine.SetUp()を実行
void SetUp()
{
_novelEngine.SetUp();
}
4: engine.StartEngine(json)でシナリオを開始
//Load Asset(json)
TextAsset asset = LoadScenarioAsset(nextScenarioName);
//Starting Engine
_novelEngine.StartEngine(asset.text, saveData);
シナリオ(json)本体やBGMなどのシナリオファイルは、AssetBundleとしてPackしResourceHandlerと連携させることでシナリオ単位にリソースをまとめることができます。