/// <summary> /// 更新称号的穿戴状态 /// </summary> /// <param name="roleTitleID">Role title identifier.</param> /// <param name="roleTitleStatus">Role title status.</param> public void UpdateRoleTitleStatus(int roleTitleID, RoleTitleStatus roleTitleStatus) { for (int i = 0; i < roleTitleList.Count; i++) { if (roleTitleList[i].roletitleId == roleTitleID) { roleTitleList[i].roleTitleStatus = roleTitleStatus; return; } } }
/// <summary> /// 根据服务端的返回数据去客户端获取数据 /// </summary> /// <returns>用户的某一个称号的内容</returns> /// <param name="roleTitleItem">服务端返回的角色的一条称号数据</param> public Dictionary <string, string> GetRoleTitleItem(RoleTitleItemObject roleTitleItem) { int index = 0; //0 代表不可以穿戴 1 代表可以穿戴 RoleTitleStatus roleTitleCanWear = RoleTitleStatus.UnFinished; Dictionary <string, string> roletitleItemDic = new Dictionary <string, string>(); int count = roleTitleItem.roletitleCount; //获取某一类称号的所有梯度 string[] levels = roletitleDic[roleTitleItem.roletitleId]["roletitlelevel"].Split('|'); for (int i = 0; i < levels.Length; i++) { //如果当前称号的梯度值大于所有梯度中的某一梯度 if (count >= int.Parse(levels[i])) { roleTitleCanWear = RoleTitleStatus.CanWear; //如果当前称号的梯度已经是所有梯度里面最大的之后相当于该称号的最高梯度已达到! if (i + 1 >= levels.Length) { index = i; count = int.Parse(levels[i]); } else { //如果还有比当前称号的梯度更大的梯度则客户端要显示的梯度是离当前梯度最近的梯度 if (count < int.Parse(levels[i + 1])) { index = i + 1; } } } } //当获得梯度之后则返回相应梯度的称号内容 string tempRoleTitleDesc = LanguageManager.languageType == LanguageType.Chinese ? roletitleDic[roleTitleItem.roletitleId]["roletitledesc"].Split('|')[index].Split('$')[0] : roletitleDic[roleTitleItem.roletitleId]["roletitledesc"].Split('|')[index].Split('$')[1]; roletitleItemDic.Add(RoleTitleEnum.RoleTitleDesc.ToString(), tempRoleTitleDesc); roletitleItemDic.Add(RoleTitleEnum.RoleTitleIcon.ToString(), roletitleDic[roleTitleItem.roletitleId]["roletitleicon"].Split('|')[index]); roletitleItemDic.Add(RoleTitleEnum.RoleTitleLevel.ToString(), roletitleDic[roleTitleItem.roletitleId]["roletitlelevel"].Split('|')[index]); roletitleItemDic.Add(RoleTitleEnum.RoleTitleIsWeared.ToString(), (roleTitleItem.roleTitleStatus).ToString()); roletitleItemDic.Add(RoleTitleEnum.RoleTitleIsCanWear.ToString(), roleTitleCanWear.ToString()); roletitleItemDic.Add(RoleTitleEnum.RoleTitleId.ToString(), roleTitleItem.roletitleId.ToString()); roletitleItemDic.Add(RoleTitleEnum.RoleTitleCount.ToString(), count.ToString()); return(roletitleItemDic); }