此框架提供灵活的使用方式。可以选择完全使用框架附带的第三方接入能力;也可以选择自定义接入网络底层的实现。
- 复制GGNetwork目录到你的工程(先不要复制GGFramework.GGNetwork.asmdef文件到你的工程)。
作为游戏产品框架中的一个系统,本系统没有另外对Http/Socket连接请求做实现。可以通过接口接入使用者自有的系统或者第三方网络库。
比如下面的几个库就是
第三方库 | 说明 | 必选 |
---|---|---|
SimpleJson | 一个简单轻便的Json库。 | 是 |
Best Http | 一个优秀的Http网络库。 | 否 |
Unity Websocket | 一个Pomelo网络框架的客户端网络库。 | 否 |
在合适的地方初始化网络系统。
GameNetworkSystem.Instance.Init();
[TODO]
JsonObject param = new JsonObject();
HttpNetworkSystem.Instance.GetWebRequest("http://url", "command", HttpNetworkSystem.ExceptionAction.ConfirmRetry, (JsonObject response)=>{
// 接收json,处理相关逻辑。
});
绑定UI回调后。让网络发生各种反馈的时候,可以通过UI表现出来,获得更好的体验。
如果不设置,网络的各种情况就不会通过UI表现出来,但不影响网络系统的使用。
// 绑定本地化文本。
HttpNetworkSystem.Instance.UIAdaptor.onWaiting = (bool waiting){
// 根据waiting的值,显示或者隐藏网络等待遮罩。
UISystem.ShowWaiting(waiting);
}
// 绑定对话框。
string GetLocalText(string text){
//...return localization text;
}
HttpNetworkSystem.Instance.UIAdaptor.onGetText = GetLocalText;
// 绑定网络等待框。
HttpNetworkSystem.Instance.UIAdaptor.onWaiting = (bool waiting){
// 根据waiting的值,显示或者隐藏网络等待遮罩。
UISystem.ShowWaiting(waiting);
}