我是团结的小伙子。所以,我正在尽我所能解释我被卡住的问题,我不知道如何处理。我有一个运行Ruby on Rails的网站。
我正在建立一个统一的小游戏,就像一个库存管理系统。但是,库存特定于用户,用户可以对其进行更改。用户将游戏视为其仪表板的一部分。 我想做什么:
此外,
答案 0 :(得分:0)
您可以在编辑器中测试用户登录/注销和信息中心,而无需构建 WebGl 。它会起作用,但 / strong>确保将来正常工作。 没有这样做,最终游戏可能不会有效,因为您使用了 WebGL 不支持的API。这就是为什么你必须测试游戏但没有全部的时间,只需一次。
要与您的服务器进行通信,您应该使用新的Unity API UnityWebRequest 而不是 WWW 。 WWW类将在本月或未来几个月内删除。 UnityWebRequest 完全支持 WebGL 构建。 WebGL 构建不支持 .Net 类。因此,您无法使用 HttpWebRequest 或套接字 ......
答案 1 :(得分:0)
如果您想直接与浏览器通信,那么
从 WebGL 到 index.html - Application.ExternalCall(" MyFunction",MyValue)
从 index.html 到 WebGL - SendMessage(" MyGameObject"," MyFunction",MyValue)
因此,在您的情况下,当用户登陆他的仪表板时,统一应该从浏览器获得用户登录ID,这需要从index.html调用函数并将其返回到与您从中获取的数据的统一会话。
<强> WebGL的强>
public void ReloadInventoryBaseOnUser()
{
Application.ExternalCall("GetUserID");
}
<强>的index.html 强>
function GetUserID(){
//$.ajax here to get session id
SendMessage("Manager","SetUserID", userID);
focus();
}
<强> WebGL的强>
public void SetUserID(string ID){
userID = ID;
ReloadInventory(userID);
}
会话是服务器端的事情,您可以编写一个Http处理程序(如果有的话,将共享会话ID)并使用$.ajax
从那里返回值。所以假设你已将id存储到js变量userID