/// <summary> /// 通过RoleID初始化一个角色的BaseRoleData信息(hp默认为最大值) /// </summary> public BaseRoleData InitRoleData(int roleId) { string key = roleId.ToString(); //获取角色的Level int roleLevel = PlayerprefsManager.LoadRoleLevel(roleId); //获取该角色的基础数据与成长系数 string roleName = (string)OriginRoleJsonData[key]["name"]; ProfessionType profession = (ProfessionType)((int)OriginRoleJsonData[key]["profession"]); string head = (string)OriginRoleJsonData[key]["head"]; string info = (string)OriginRoleJsonData[key]["info"]; int str = (int)OriginRoleJsonData[key]["str"]; int strAdd = (int)OriginRoleJsonData[key]["strAdd"]; int agi = (int)OriginRoleJsonData[key]["agi"]; int agiAdd = (int)OriginRoleJsonData[key]["agiAdd"]; int Int = (int)OriginRoleJsonData[key]["int"]; int IntAdd = (int)OriginRoleJsonData[key]["intAdd"]; int speed = (int)OriginRoleJsonData[key]["speed"]; int speedAdd = (int)OriginRoleJsonData[key]["speedAdd"]; int maxHP = (int)OriginRoleJsonData[key]["maxHP"]; int maxHPAdd = (int)OriginRoleJsonData[key]["maxHPAdd"]; //初始化属性 默认满血量 BaseRoleData roleData = new BaseRoleData(roleId, roleName, profession, roleLevel, head, info, maxHP, maxHPAdd, str, strAdd, agi, agiAdd, Int, IntAdd, speed, speedAdd); return(roleData); }
/// <summary> /// 初始化队伍UI /// </summary> public void InitMemberUI() { //更新所选角色列表信息(目前仅考虑主角) Image headI = teamP.Find("Member_P/Item/Head_I").GetComponent <Image>(); Text nameT = teamP.Find("Member_P/Item/Name_T").GetComponent <Text>(); Text levelT = teamP.Find("Member_P/Item/Level_T").GetComponent <Text>(); Text professionT = teamP.Find("Member_P/Item/Profession_T").GetComponent <Text>(); Text hpT = teamP.Find("Member_P/Item/HP_T").GetComponent <Text>(); Text strT = teamP.Find("Member_P/Item/Str_T").GetComponent <Text>(); Text agiT = teamP.Find("Member_P/Item/Agi_T").GetComponent <Text>(); Text intT = teamP.Find("Member_P/Item/Int_T").GetComponent <Text>(); Text speedT = teamP.Find("Member_P/Item/Speed_T").GetComponent <Text>(); Text infoT = teamP.Find("Member_P/Item/Info_T").GetComponent <Text>(); BaseRoleData data = RoleDataInfo.Instance.GetRoleData(RoleDataInfo.MainRoleId); headI.sprite = ResourceManager.LoadRoleHeadSprite(data.Head); nameT.text = data.RoleName; levelT.text = string.Format("Lv{0}", data.Level); professionT.text = RoleDataInfo.GetProfessionName(data.Profession); hpT.text = string.Format("生命:{0}", data.MaxHP); strT.text = string.Format("力量:{0}", data.Str); agiT.text = string.Format("敏捷:{0}", data.Agi); intT.text = string.Format("智力:{0}", data.Intelligence); speedT.text = string.Format("速度:{0}", data.Speed); infoT.text = data.Info; }
/// <summary> /// 获取一名角色的属性信息 /// </summary> public BaseRoleData GetRoleData(int roleId) { //不存在时默认添加一个角色 if (!RoleMemberDataMap.ContainsKey(roleId)) { BaseRoleData data = InitRoleData(roleId); RoleMemberDataMap.Add(roleId, data); } return(RoleMemberDataMap[roleId]); }
/// <summary> 添加一个成员到我的队伍中 </summary> public void AddRoleToMyTeam(BaseRoleData roleData) { if (CheckHasRole(roleData.RoleId)) { Util.LogError("队伍成员中已有该人物了"); } else { MyTeamDataList.Add(roleData); } }