UnityのWebGLでES2015を使う

Unity

Unity Version: 2021.3.19f1

jspreをjslibを介して使う、あとは公式通り。クラスも使える。

Interaction with browser scripting – Unity マニュアル (unity3d.com)

・Assets/JsprePrac/Plugins/JsprePrac.jspre

class ClassPrac {
  constructor() {}
  bar() {
    console.log("ClassPrac bar method called");
  }
}

Module["JsprePracFunc"] = {
  foo: () => {
    console.log("JsPrePrac-js-side called");
  },
  baz: () => {
    const classPrac = new ClassPrac();
    classPrac.bar();
  },
};

・Assets/JsprePrac/Plugins/JsprePrac.jslib

mergeInto(LibraryManager.library, {
  JsprePracFunc: function () {
    Module["JsprePracFunc"].foo();
    Module["JsprePracFunc"].baz();
  },
});

・Assets/JsprePrac/Scripts/JsprePrac.cs

using System;
using System.Runtime.InteropServices;
using UnityEngine;

namespace AyatakaPrac
{
    public class JsprePrac : MonoBehaviour
    {
        [DllImport("__Internal")]
        public static extern void JsprePracFunc();
    }
}

コメント

タイトルとURLをコピーしました