如何使用 Unity3d 连接到本地解析服务器?
How to connect to a local parse-server with Unity3d?
我需要从 Parse.com 迁移到我自己的 Parse-server。我如何通过我的服务器 URL 在我的 Unity 项目上初始化 Parse SDK? Unity Editor 上唯一可编辑的变量是 ApplicationId
和 DotNetKey
。我看到一个 .Net 示例,其中我可以在应用程序初始化时传递 serverUrl
(见下文),但在 Unity 上我找不到此选项:
ParseClient.initialize(new ParseClient.Configuration {
ApplicationId = "YOUR_APP_ID",
ClientKey = "YOUR_APP_CLIENT_KEY",
Server = "http://localhost:1337/parse"
});
我发现 Parse.ParseClient
class 有一个内部 HostName
变量。我如何通过反射访问它?我试过了:
typeOf(ParseClient)
但是这个returns
unknown type: Parse.ParseClient
************** 解决方案 *****************
public class ParseInitializer : ParseInitializeBehaviour {
[SerializeField] public string hostURL;
public override void Awake() {
var assembly = Assembly.GetAssembly(typeof(ParseInitializeBehaviour));
var type = assembly.GetType("Parse.ParseClient");
var prop = type.GetProperty("HostName", BindingFlags.Static
| BindingFlags.NonPublic);
Uri uri = new Uri(hostURL;);
prop.SetValue(type, uri, null);
var s = (Uri)prop.GetValue(type, null);
base.Awake();
}
}
您引用的文档有错字。它的 ParseClient.Initialize 带有一个大写的 I。如果你有正确的 #using Parse;在您的代码中,它不应标记错误。
我需要从 Parse.com 迁移到我自己的 Parse-server。我如何通过我的服务器 URL 在我的 Unity 项目上初始化 Parse SDK? Unity Editor 上唯一可编辑的变量是 ApplicationId
和 DotNetKey
。我看到一个 .Net 示例,其中我可以在应用程序初始化时传递 serverUrl
(见下文),但在 Unity 上我找不到此选项:
ParseClient.initialize(new ParseClient.Configuration {
ApplicationId = "YOUR_APP_ID",
ClientKey = "YOUR_APP_CLIENT_KEY",
Server = "http://localhost:1337/parse"
});
我发现 Parse.ParseClient
class 有一个内部 HostName
变量。我如何通过反射访问它?我试过了:
typeOf(ParseClient)
但是这个returns
unknown type: Parse.ParseClient
************** 解决方案 *****************
public class ParseInitializer : ParseInitializeBehaviour {
[SerializeField] public string hostURL;
public override void Awake() {
var assembly = Assembly.GetAssembly(typeof(ParseInitializeBehaviour));
var type = assembly.GetType("Parse.ParseClient");
var prop = type.GetProperty("HostName", BindingFlags.Static
| BindingFlags.NonPublic);
Uri uri = new Uri(hostURL;);
prop.SetValue(type, uri, null);
var s = (Uri)prop.GetValue(type, null);
base.Awake();
}
}
您引用的文档有错字。它的 ParseClient.Initialize 带有一个大写的 I。如果你有正确的 #using Parse;在您的代码中,它不应标记错误。