Empecé a usar los complementos de jslib con Unity y, siguiendo la documentación, creé este archivo jslib:
var plugin = { Autologin: function () { var sessionData = [ sessionStorage.getItem("USERNAME"), sessionStorage.getItem("PASSWORD") ]; return sessionData; }, GetTargetParams: function () { function findGetParameter(parameterName) { var result = null, tmp = []; var items = location.search.substr(1).split("&"); for (var index = 0; index < items.length; index++) { tmp = items[index].split("="); if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]); } return result; } return findGetParameter("platform"); }, }; mergeInto(LibraryManager.library, plugin);Uso las funciones jslib en el archivo C# así:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Networking; using UnityEngine.UI; using UnityEngine.UIElements; using UnityEngine.SceneManagement; using System; using System.Runtime.InteropServices; public class InitHandler : MonoBehaviour { public bool isMobile = false; [DllImport("__Internal")] private static extern string[] Autologin(); [DllImport("__Internal")] private static extern string GetTargetParams(); // Start is called before the first frame update void Start() { try { switch (GetTargetParams()) { case "mobile": isMobile = true; break; case "pc": isMobile = false; break; } } catch { Debug.LogWarning("Target checking will not be executed cause it's not a webgl build."); } try { StartCoroutine(StartAUTOLogin(Autologin()[0], Autologin()[1])); } catch { Debug.LogWarning("Autologin will not be executed cause it's not a webgl build."); } SceneManager.LoadScene("Login"); } // Update is called once per frame void Update() { } IEnumerator StartAUTOLogin(string User, string Password) { WWWForm form = new WWWForm(); form.AddField("Username", User); form.AddField("Password", Password); } }Cuando construyo esto, no obtengo NINGÚN error de compilación. Mi pregunta ahora es por qué las funciones que importo no funcionan en una compilación webgl. Entonces, cuando paso el parámetro plataforma = móvil, no está configurando isMobile en verdadero. Soy principiante con jslibs, así que no seas duro por favor y no critiques mi inglés. No soy hablante nativo.
Espero que puedas ayudarme, Franz Fischer