/// <summary> /// 添加角色到角色总列表 /// </summary> /// <param name="headAdd">添加到列表头部</param> /// <param name="serverGid">服务器gid</param> /// <param name="id">角色uid</param> /// <param name="tid"></param> /// <param name="name"></param> /// <param name="lv"></param> /// <param name="offtime">上次登陆时间</param> /// <param name="pos">位置</param> public void AddCharacter(bool headAdd, string serverGid, ulong id, int tid, string name, int lv, ulong offtime, int pos, int rank) { ServerInfoVO serverInfo = GetServerBy(serverGid); if (serverInfo == null) { return; } if (serverInfo.CharacterList == null) { serverInfo.CharacterList = new List <CharacterVO>(); } CharacterVO player = new CharacterVO(); player.UId = id; player.Name = name; player.Tid = tid; player.Level = lv; player.DanLevel = rank; player.LastLoginTime = (int)offtime; if (headAdd) { serverInfo.CharacterList.Insert(0, player); } else { serverInfo.CharacterList.Add(player); } }
public Dictionary <int, ServerInfoVO> GetAllSeverInfos() { if (allSeverInfos == null) { allSeverInfos = new Dictionary <int, ServerInfoVO>(); int count = 0; Dictionary <string, DeployConfigInfo> deployinfo = ConfigDataManager.GetDeployConfigInfos(); if (deployinfo != null) { foreach (KeyValuePair <string, DeployConfigInfo> info in deployinfo) { if (info.Value.port != -1) { ServerInfoVO severinfo = new ServerInfoVO(); severinfo.Type = info.Value.type; severinfo.IP = info.Value.value; severinfo.Port = info.Value.port; severinfo.Name = info.Value.name; severinfo.ID = info.Value.severId; allSeverInfos[count] = severinfo; count++; } } } } return(allSeverInfos); }
/// <summary> /// 添加一个服务器 /// </summary> /// <param name="id">服务器id</param> /// <param name="gid">服务器Gid</param> /// <param name="name">服务器名字</param> /// <param name="state">状态</param> /// <param name="ip">IP地址</param> /// <param name="port">端口</param> /// <param name="openTime">开服时间</param> public void AddServer(int id, string gid, string name, int state, string ip, int port, string openTime) { ServerInfoVO server = new ServerInfoVO(); server.Id = id; server.Gid = gid; server.Name = name; server.State = state; //为了适应外网联调,服务器添加特殊的IP地址 //如果IP地址中带有:号,则进行解析做为新地址和端口使用 int indexOfColon = ip.IndexOf(':'); if (indexOfColon > 0) { server.Ip = ip.Substring(0, indexOfColon); server.Port = int.Parse(ip.Substring(indexOfColon + 1)); } else { server.Ip = ip; server.Port = port; } server.OpenTime = openTime; if (!m_ServerInfoVOlist.ContainsKey(gid)) { m_ServerInfoVOlist.Add(gid, server); } }
public void UpdateServerInfo(int key) { CurServerInfo = allSeverInfos[key]; EventObject eventobj = new EventObject(); eventobj.obj = key; dispatchEvent(SEVER_CHANGE, eventobj); }
public void UpdateLeftInfo() { ServerInfoVO curInfo = Singleton <ServiceModel> .GetInstance().GetCurSeverInfo(); m_pLeftInfo = versionText.text + "\r\n" + "账号:"// + Singleton<GameModel>.GetInstance().Account + "\r\n" + fpsText.text + "\r\n" + severText.text + "\r\n" + "服务器IP:" + curInfo.IP + "\r\n" + "服务器端口号:" + curInfo.Port; }
/// <summary> /// 清空本地存的所有服务器上的角色 /// </summary> public void ClearServerCharacters(string serverID) { ServerInfoVO serverInfo = GetServerBy(serverID); if (serverInfo != null) { serverInfo.CharacterList = null; } }
/// <summary> /// 创建角色返回 /// </summary> private void OnCreateRoleRespond(KProtoBuf proto) { KG2C_CreateRoleRespond respond = proto as KG2C_CreateRoleRespond; KCreateRoleRespondCode code = (KCreateRoleRespondCode)(respond.code); if (code == KCreateRoleRespondCode.eCreateRoleSucceed) { ServerInfoVO server = GetServerListProxy().GetSelectedServer() ?? GetServerListProxy().GetLastLoginServer(); GetServerListProxy().AddCharacter(true, server.Gid, respond.uRoleID, respond.nMainHeroTemplateID, respond.szRoleName, respond.uLevel, 0, 0, 1); Debug.Log("创建角色成功 GID:" + server.Gid + "/ id" + +server.Id + " / " + respond.szRoleName); GetServerListProxy().GetCurrentCharacterVO().UId = respond.uRoleID; GetServerListProxy().GetCurrentCharacterVO().Name = respond.szRoleName; GetServerListProxy().GetCurrentCharacterVO().Level = respond.uLevel; GetServerListProxy().GetCurrentCharacterVO().DanLevel = respond.uLevel; PlayerPrefs.SetString(LAST_LOGIN_ROLE, respond.uRoleID.ToString()); GameFacade.Instance.SendNotification(NotificationName.MSG_CHARACTER_CREATE_SUCCESS, respond.uRoleID); } else { Debug.Log("创建角色失败=" + respond.code); //EventDispatcher.GameWorld.DispatchEvent(ControllerCommand.CREATE_ROLE_FAILD); GameFacade.Instance.SendNotification(NotificationName.MSG_CHARACTER_CREATE_FAIL, (int)(proto as KG2C_CreateRoleRespond).code); string errTex = ""; if (code == KCreateRoleRespondCode.eCreateRoleSucceed) { errTex = "NICKNAME_CREATE_SUCCESS"; } else if (code == KCreateRoleRespondCode.eCreateRoleNameAlreadyExist) { errTex = "NICKNAME_USED"; } else if (code == KCreateRoleRespondCode.eCreateRoleInvalidRoleName) { errTex = "NICKNAME_INVALID"; } else if (code == KCreateRoleRespondCode.eCreateRoleNameTooLong) { errTex = "NICKNAME_TOOLONG"; } else if (code == KCreateRoleRespondCode.eCreateRoleNameTooShort) { errTex = "NICKNAME_TOOSHORT"; } else { errTex = "NICKNAME_NOTCREATE"; } Debug.LogWarning(errTex); } }
/// <summary> /// 选择toggle事件 /// </summary> /// <param name="index">索引</param> /// <param name="select">是否选中</param> private void SelectToggle(int index, bool select) { if (select) { m_CurrentTierIndex = index; m_CurrentData = m_ServerListProxy.GetServerList()[m_CurrentTierIndex]; m_ServerListProxy.SetSelectedServer(m_CurrentData.Gid); m_Parent.m_CurrentServerNameText.text = m_CurrentData.Name; m_Parent.m_CurrentServerStateText.text = m_CurrentData.State.ToString(); } }
public override bool Edit(ServerInfoVO m) { CodeCommand command = new CodeCommand(); command.CommandText = EDIT; command.Parameters.Add(new SqlParameter() { ParameterName = "@ServerId", Value = ParameterHelper.ConvertValue(m.ServerId) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Name", Value = ParameterHelper.ConvertValue(m.Name) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Desc", Value = ParameterHelper.ConvertValue(m.Desc) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Ip", Value = ParameterHelper.ConvertValue(m.Ip) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@CreateDate", Value = ParameterHelper.ConvertValue(m.CreateDate) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@IsState", Value = ParameterHelper.ConvertValue(m.IsState) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@UpdateDate", Value = ParameterHelper.ConvertValue(m.UpdateDate) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@UserId", Value = ParameterHelper.ConvertValue(m.UserId) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Id", Value = ParameterHelper.ConvertValue(m.Id) }); int result = DbProxyFactory.Instance.Proxy.ExecuteNonQuery(command); if (result >= 1) { return(true); } return(false); }
/// <summary> /// 是否有角色 /// </summary> /// <returns>返回Bool</returns> private bool HaveCharacter() { ServerInfoVO serverInfo = m_ServerListProxy.GetLastLoginServer(); if (serverInfo.CharacterList?.Count > 0) { return(true); } else { return(false); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/json"; string sname = context.Request.Params["sname"] ?? ""; ApiResult result = new ApiResult(); try { if (!string.IsNullOrEmpty(sname)) { ServerInfoPara sip = new ServerInfoPara(); sip.Name = sname; var list = ServerInfoBLL.Instance.GetModels(sip); if (list.Count == 0) { ServerInfoVO info = new ServerInfoVO(); info.CreateDate = DateTime.Now; info.Desc = ""; info.Ip = DN.Framework.Utility.ClientHelper.ClientIP(); info.IsState = 0; info.Name = sname; info.ServerId = Guid.NewGuid().ToString(); info.UpdateDate = DateTime.Now; ServerInfoBLL.Instance.Add(info); result.code = 1; result.msg = "服务器信息上报成功。"; } else { result.code = 0; result.msg = "己存在相同服务器信息。"; } } } catch (Exception ex) { result.code = 2; result.msg = ex.Message; } string json = DN.Framework.Utility.Serializer.SerializeObject(result); context.Response.ClearContent(); context.Response.Write(json); context.Response.End(); }
public override void OnRefresh(object msg) { UIManager.Instance.OpenPanel(UIPanel.CharacterModelPanel, m_PanelRoot); ServerInfoVO serverInfo = m_ServerListProxy.GetLastLoginServer(); if (serverInfo.CharacterList?.Count > 0) { m_ServerListProxy.SetCurrentState(CharacterPanelState.RoleList); } else { m_ServerListProxy.SetCurrentState(CharacterPanelState.CreatRole); } }
/// <summary> /// 从本地缓存数据服务器中删除一个角色数据 /// </summary> /// <param name="uid">实例id</param> public void RemoveCharacter(ulong uid) { if (PlayerPrefs.HasKey(uid.ToString())) { PlayerPrefs.DeleteKey(uid.ToString()); } ServerInfoVO serverInfo = GetLastLoginServer(); for (int i = 0; i < serverInfo.CharacterList.Count; i++) { if (serverInfo.CharacterList[i].UId == uid) { serverInfo.CharacterList.RemoveAt(i); return; } } }
public override int InsertIdentityId(ServerInfoVO m) { CodeCommand command = new CodeCommand(); command.CommandText = INSERT + "; select @@Identity"; command.Parameters.Add(new SqlParameter() { ParameterName = "@ServerId", Value = ParameterHelper.ConvertValue(m.ServerId) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Name", Value = ParameterHelper.ConvertValue(m.Name) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Desc", Value = ParameterHelper.ConvertValue(m.Desc) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@Ip", Value = ParameterHelper.ConvertValue(m.Ip) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@CreateDate", Value = ParameterHelper.ConvertValue(m.CreateDate) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@IsState", Value = ParameterHelper.ConvertValue(m.IsState) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@UpdateDate", Value = ParameterHelper.ConvertValue(m.UpdateDate) }); command.Parameters.Add(new SqlParameter() { ParameterName = "@UserId", Value = ParameterHelper.ConvertValue(m.UserId) }); var result = DbProxyFactory.Instance.Proxy.ExecuteScalar(command); return(int.Parse(result.ToString())); }
/// <summary> /// 延迟调用 /// </summary> /// <returns></returns> public IEnumerator Excute() { ServerInfoVO serverInfo = m_ServerListProxy.GetLastLoginServer(); if (m_CurrentState != null) { m_CurrentState.m_IsShow = false; } yield return(new WaitForSeconds(0.2f)); m_Animator.SetTrigger("Near"); m_RotationContoller.ResetAngle(); m_PostProcessVolume.isGlobal = true; if (m_CurrentState.m_Character != null) { m_CurrentState.m_Character.SetActive(true); } m_CurrentState.m_IsShow = true; }
protected override void OnCellRenderer(int groupIndex, int cellIndex, object cellData, RectTransform cellView, bool selected) { Toggle toggle = cellView.GetComponent <Toggle>(); Animator m_Animator = cellView.GetComponent <Animator>(); if (m_Animator) { m_Animator.SetBool("IsOn", selected); } ServerInfoVO serverData = (ServerInfoVO)cellData; cellView.Find("Content/ServerField").GetComponent <TMP_Text>().text = serverData.Name; cellView.Find("Content/StateField").GetComponent <TMP_Text>().text = serverData.State.ToString(); if (selected) { SelectToggle(cellIndex, selected); } }
private System.Collections.IEnumerator Login_Co() { do { string url = string.Format("{0}authorize?username=\"{1}\"&password=\"{2}\"" , GetLoginProxy().GetMicroServerURL_Auth() , NetworkManager.Instance.GetLoginController().Account , NetworkManager.Instance.GetLoginController().Password); Leyoutech.Utility.DebugUtility.Log(KConstants.LOG_TAG, "Request " + url); UnityWebRequest www = UnityWebRequest.Get(url); yield return(www.SendWebRequest()); if (www.isNetworkError || www.isHttpError) { Leyoutech.Utility.DebugUtility.LogError(KConstants.LOG_TAG, "Request authorize Error: \n" + www.error); SendNotification(NotificationName.MSG_GRPC_AUTH_ERR); } else { Leyoutech.Utility.DebugUtility.Log(KConstants.LOG_TAG, "Request authorize Success: \n" + www.downloadHandler.text); TokenData tokenData = JsonUtility.FromJson <TokenData>(www.downloadHandler.text); ClearAllServerCharacters(); NetworkManager.Instance.GetLoginController().AccountToken = tokenData.success.token_id; SendNotification(NotificationName.MSG_GRPC_AUTH_BACK); // HACK 现在不需要从微服获取角色列表 SendNotification(NotificationName.MSG_GRPC_GETROLES_BACK); ServerInfoVO server = GetSelectedServer() ?? GetLastLoginServer(); if (server != null) { NetworkManager.Instance.GetLoginController().Connect(server.Ip, server.Port); } break; } }while (--m_CurrentRetryCount > 0); }
public override string GetOtherConditionByModel(ServerInfoVO m) { return(""); }
public void ShowSeverInfo(EventObject obj) { ServerInfoVO curInfo = Singleton <ServiceModel> .GetInstance().GetCurSeverInfo(); severText.text = "服务器:" + curInfo.Name; }
public override string GetOrderByModel(ServerInfoVO m) { return(""); }