|
@@ -50,7 +50,8 @@ namespace GFGGame
|
|
|
GameController.CheckSpecialAccount(account);
|
|
|
LocalCache.SetBool(GameConst.LAST_LOGIN_IS_VISITOR_KEY, GameGlobal.isVisitor);
|
|
|
PlayerPrefs.Save();
|
|
|
- GameProxy.ReqRoleInfo(GameGlobal.userId);
|
|
|
+ await GetServerInfos();
|
|
|
+ await GetRoles();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -76,5 +77,87 @@ namespace GFGGame
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ public static async ETTask GetServerInfos()
|
|
|
+ {
|
|
|
+ int errorCode = await LoginHelper.GetServerInfos(GameGlobal.zoneScene);
|
|
|
+ if(errorCode != ErrorCode.ERR_Success)
|
|
|
+ {
|
|
|
+ ErrorCodeController.Handler(errorCode);
|
|
|
+ await ETTask.Create();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var serverInfosComponent = GameGlobal.zoneScene.GetComponent<ServerInfosComponent>();
|
|
|
+ if (serverInfosComponent.ServerInfoList.Count <= 0)
|
|
|
+ {
|
|
|
+ Alert.Show("服务器列表为空:\n请检查网络和服务器状态")
|
|
|
+ .SetRightButton(true, "知道啦", (object data) =>
|
|
|
+ {
|
|
|
+ Application.Quit();
|
|
|
+ });
|
|
|
+ await ETTask.Create();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var serverInfo = serverInfosComponent.ServerInfoList[0];
|
|
|
+ serverInfosComponent.CurrentServerId = int.Parse(serverInfo.Id.ToString());
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async ETTask GetRoles()
|
|
|
+ {
|
|
|
+ int errorCode = await LoginHelper.GetRoles(GameGlobal.zoneScene);
|
|
|
+ if(errorCode != ErrorCode.ERR_Success)
|
|
|
+ {
|
|
|
+ ErrorCodeController.Handler(errorCode);
|
|
|
+ await ETTask.Create();
|
|
|
+ }
|
|
|
+ var roleInfosComponent = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>();
|
|
|
+ if (roleInfosComponent.RoleInfos != null && roleInfosComponent.RoleInfos.Count > 0)
|
|
|
+ {
|
|
|
+ var roleInfo = roleInfosComponent.RoleInfos[0];
|
|
|
+ roleInfosComponent.CurrentRoleId = roleInfo.Id;
|
|
|
+ await ReqEnterGame();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ GameController.ShowCreateRole();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async ETTask ReqCreateRole(string roleName)
|
|
|
+ {
|
|
|
+ int errorCode = await ET.LoginHelper.CreateRole(GameGlobal.zoneScene, roleName);
|
|
|
+ if (errorCode != ErrorCode.ERR_Success)
|
|
|
+ {
|
|
|
+ ErrorCodeController.Handler(errorCode);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var roleInfosComponent = GameGlobal.zoneScene.GetComponent<RoleInfosComponent>();
|
|
|
+ if (roleInfosComponent.RoleInfos != null && roleInfosComponent.RoleInfos.Count > 0)
|
|
|
+ {
|
|
|
+ var roleInfo = roleInfosComponent.RoleInfos[0];
|
|
|
+ roleInfosComponent.CurrentRoleId = roleInfo.Id;
|
|
|
+ await ReqEnterGame();
|
|
|
+ }
|
|
|
+
|
|
|
+ ViewManager.Hide(ViewName.CREATE_ROLE_VIEW);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static async ETTask ReqEnterGame()
|
|
|
+ {
|
|
|
+ int errorCode = await LoginHelper.GetRealmKey(GameGlobal.zoneScene);
|
|
|
+ if(errorCode != ErrorCode.ERR_Success)
|
|
|
+ {
|
|
|
+ ErrorCodeController.Handler(errorCode);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ errorCode = await LoginHelper.EnterGame(GameGlobal.zoneScene);
|
|
|
+ if (errorCode != ErrorCode.ERR_Success)
|
|
|
+ {
|
|
|
+ ErrorCodeController.Handler(errorCode);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ ViewManager.Hide<LoginView>();
|
|
|
+ }
|
|
|
}
|
|
|
}
|