ゲーム端と契約端をスキップして、Unity と契約のインタラクション部分について書いてみましょう。
- Unity プロジェクトの plugins フォルダーに、まず.jslib 拡張子のファイルを新規作成し、ファイル名をカスタマイズします。
mergeInto(LibraryManager.library, {
StartTime: function(){ // StartTimeはUnityが呼び出すメソッド名です
BeginTime(); // BeginTimeはフロントエンドのBeginTime()メソッドを呼び出します
},
});
- Unity で、スクリプトを新規作成し、using System.Runtime.InteropServices; 名前空間を追加し、以下の C# コードを追加します:
[DllImport("__Internal")]
private static extern void StartTime();
- Unity で StartTime () メソッドを呼び出すと、jslib 内の StartTime () メソッドが呼び出されます。
function StartTime() {
}
- Unity を WebGL でパッケージ化し、圧縮方法は圧縮しないを選択します。
また、React プロジェクトで Unity プロジェクトから取得した WebGL リソースをロードするために、サードパーティプラグイン react-unity-webgl を使用することもできます。
github:https://github.com/skka3134/plantsVsZombines/tree/main