MissingMethodException с единицей jslib, вызывающей c# функций - PullRequest
0 голосов
/ 12 апреля 2020

Я использую плагин jslib для использования websockets в сборке webgl в единстве. Всякий раз, когда я вызываю функцию c# из jslib, я получаю сообщение об ошибке:

MissingMethodException: Client.OnMsg Due to: Attempted to access a missing member. at System.RuntimeType.InvokeMember (System.String name, System.Reflection.BindingFlags bindingFlags, System.Reflection.Binder binder, System.Object target, System.Object[] providedArgs, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, System.String[] namedParams) [0x00000] in :0

(Filename: currently not available on il2cpp Line: -1)

Мой код jslib:

 window.wsclient.onmessage = function(evt) {
     console.log("[recv] "+evt.data);
     var buffer = _malloc(lengthBytesUTF8(evt.data)+1);
     stringToUTF8(evt.data, buffer, lengthBytesUTF8(evt.data)+1);
     unityInstance.SendMessage('MainPlayer', 'OnMsg', buffer);    
 }; 

Мой c# код:

bool firstMsg = true;
public void OnMsg(string message)
{
    if (firstMsg)
    {
        var msg = JsonUtility.FromJson<WebsocketAuthMessage>(message.Split('}')[0] + "}");

        firstMsg = false;
    }
    else
    {
        var msg = JsonUtility.FromJson<WebsocketMessage>(message.Split('}')[0] + "}");
    }
}

Почему я получаю эту ошибку в моих сборках?

...