Весь мой рабочий процесс:
Unity3D (кодирование данных класса в формате json) -> WebGL Build -> Javascript html -> Socket.IO Эти типы данных (int, byte [], string) должен быть читаемым в socket.io.
Это функция, которую я использовал в Unity3D для преобразования класса в строку json.
JsonUtility.ToJson ();
Когда я печатаю в node.js, я получил это, и он не мог понять тип данных.
{"Type":0,"Str":"AAA","Byte":[0]}
Если это правильно, я получу результат ниже, когда я буду печатать в node.js.
{ Type: 0, Str: 'AAA', Byte: [ 0 ] }
Таким образом, мне нужно решение для их преобразования.Может кто-нибудь сказать, пожалуйста, самый простой способ конвертировать их в C #?
ОБНОВЛЕНИЕ: больше информации
Ниже сценарий C # работает в Unity3D, и я хочу преобразовать это:
Application.ExternalEval(@"
if(typeof window.socketIO !== 'undefined')
{
window.socketIO.emit('" + e + @"', " + data + @");
}
");
https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html
Поскольку «Application.ExternalEval» в последней версии Unity устарела, мне нужно преобразовать их в нечто вроде этого:
mergeInto(LibraryManager.library, {
WebSocketEmitData: function (_e, _data) {
var e = Pointer_stringify(_e);
var data = Pointer_stringify(_data);
if(typeof window.socketIO !== 'undefined')
{
window.socketIO.emit(e, data);
}
}
});
Спасибо!