private void Init() { List <InstanceSkill> skills = new List <InstanceSkill> (); foreach (InstanceUnit unit in InstancePlayer.instance.battle.myTeam.units) { if (unit != null && unit.heroId > 0) { DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership(unit.heroId); skills.Add(new InstanceSkill(heroLeadership.skill, 1, 1)); } } /* * int[] heroesId = InstancePlayer.instance.model_User.model_Formation.GetSelectTeamHeroesId (); * foreach (int heroId in heroesId) { * DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership (heroId); * skills.Add (new InstanceSkill (heroLeadership.skill, 1, 1)); * } */ _slotCount = skills.Count; _slots = new InstanceSkill[_slotCount]; _slots = skills.ToArray(); }
public void LoadHerosLeadership(string name) { byte[] bin = DynamicFileControl.QueryFileContent(name); string content = StringHelper.ReadFromBytes(bin); LitJson.JSONNode json = LitJson.JSON.Parse(content); foreach (LitJson.JSONNode subNode in json.Childs) { DataHeroLeadership data = new DataHeroLeadership(); data.Load(subNode); heroesLeadershipMap[data.id] = data; } }
public void Init(GameObject parent, HeroDataManager.HeroData heroData) { _root = new GameObject("PolyRoot"); _root.transform.parent = parent.transform; _root.layer = parent.layer; // _root.transform.localPosition = Vector3.zero; // _root.transform.localRotation = Quaternion.identity; _root.transform.localScale = Vector3.one; // background = ResourceHelper.Load(HERO_PLANE_PATH); // background.layer = _root.layer; // background.transform.parent = _root.transform; // background.transform.position = new Vector3(0, 0, 5); // background.AddComponent<UIHeroPolyPlane>().CreateMesh(Color.yellow); foreground = ResourceHelper.Load(HERO_PLANE_PATH); foreground.layer = _root.layer; foreground.transform.parent = _root.transform; pHandle = foreground.AddComponent <UIHeroPolyPlane> (); pHandle.CreateMesh(Color.red); DataHeroLeadership heroLeadership = DataManager.instance.dataHeroGroup.GetHeroLeadership(heroData.id); curValue = new float[5]; curValue[0] = heroLeadership.kTank; curValue[1] = heroLeadership.kMissile; curValue[2] = heroLeadership.kUnknown; curValue[3] = heroLeadership.kGun; curValue[4] = heroLeadership.kCannon; for (int i = 0; i < curValue.Length; i++) { pHandle.SetSectionValue(i, curValue[i]); } _root.transform.localPosition = parent.transform.localPosition; _root.transform.localScale *= 0.21f; // CreateLineRender (); }
void UpdataUI() { if (_heroData != null) { _iconBg.spriteName = _heroData.IconBgName; _icon_Texture.SetHeroSmallTexture(_heroData.id); switch (_heroData.team) { case HeroDataManager.TEAM.NOTEAM: _formation_sprite.gameObject.SetActive(false); break; case HeroDataManager.TEAM.FIRSTTEAM: _formation_sprite.gameObject.SetActive(true); _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team; break; case HeroDataManager.TEAM.SECONDTEAM: _formation_sprite.gameObject.SetActive(true); _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team; break; case HeroDataManager.TEAM.THIRDTEAM: _formation_sprite.gameObject.SetActive(true); _formation_sprite.spriteName = "heroTeam_" + (int)_heroData.team; break; } _type_Sprite.spriteName = "arms_" + (int)_heroData.heroType; _heroName_Label.color = _heroData.nameColor; _heroName_Label.text = _heroData.data.name; int exp = 0; Model_HeroGroup model_heroGroup = InstancePlayer.instance.model_User.model_heroGroup; if (_heroData.recruitType == HeroDataManager.RecruitType.ALREADYRECRUIT) { Hero hero = model_heroGroup.GetHero(_heroData.id); exp = hero.exp; _manager_Btn.gameObject.SetActive(true); _upLevel_Btn.gameObject.SetActive(true); _heroLevel_Label.gameObject.SetActive(true); _heroLevel_Label.text = model_heroGroup.GetCurrentLevel(_heroData.id).ToString(); _rank_sprite.gameObject.SetActive(true); _rank_sprite.spriteName = UICommon.HERO_RANK_ICON_PATH + model_heroGroup.GetCurrentStage(_heroData.id); DataHero dataHero = DataManager.instance.dataHeroGroup.GetHero(_heroData.id, hero.exp, hero.stage); //hp _attributeValue_Label_1.text = ((int)dataHero.basicParam.hp).ToString(); //ap _attributeValue_Label_2.text = ((int)dataHero.basicParam.damage).ToString(); //dp _attributeValue_Label_3.text = ((int)dataHero.basicParam.ammo).ToString(); //hitRate float hitDodDou = 0.0f; string hitDodDouDesc = ""; if (dataHero.basicParam.hitRate != 0.0f) { hitDodDouDesc = "命中"; hitDodDou = dataHero.basicParam.hitRate; } if (dataHero.basicParam.dodgeRate != 0.0f) { hitDodDouDesc = "闪避"; hitDodDou = dataHero.basicParam.dodgeRate; } if (dataHero.basicParam.doubleDamageRate != 0.0f) { hitDodDouDesc = "暴击"; hitDodDou = dataHero.basicParam.doubleDamageRate; } if (hitDodDou != 0.0f) { _attribute_Label_4.gameObject.SetActive(true); _attributeValue_Label_4.text = hitDodDou.ToString(); } else { _attribute_Label_4.gameObject.SetActive(false); } } else { _manager_Btn.gameObject.SetActive(false); _upLevel_Btn.gameObject.SetActive(false); exp = _heroData.exp; _heroLevel_Label.gameObject.SetActive(false); _rank_sprite.gameObject.SetActive(false); //hp _attributeValue_Label_1.text = ((int)_heroData.data.basicParam.hp).ToString(); //ap _attributeValue_Label_2.text = ((int)_heroData.data.basicParam.damage).ToString(); //dp _attributeValue_Label_3.text = ((int)_heroData.data.basicParam.ammo).ToString(); //hitRate _attribute_Label_4.gameObject.SetActive(false); _attributeValue_Label_4.text = (_heroData.data.basicParam.hitRate).ToString(); } float heroExpToNextLevel = (float)DataManager.instance.dataHeroGroup.GetHeroExpToNextLevel(_heroData.id, exp); float heroTotalExpToNextLevel = (float)DataManager.instance.dataHeroGroup.GetHeroTotalExpToNextLevel(_heroData.id, exp); if (heroExpToNextLevel == 0 || heroTotalExpToNextLevel == 0) { _expLabel.text = "军官已满级"; } { _Timer_Colored_Slider.value = (heroTotalExpToNextLevel - heroExpToNextLevel) / heroTotalExpToNextLevel; _expLabel.text = (heroTotalExpToNextLevel - heroExpToNextLevel) + "/" + heroTotalExpToNextLevel; } DataHeroLeadership heroLeaderData = DataManager.instance.dataHeroGroup.GetHeroLeadership(_heroData.id); DataSkill skillData = DataManager.instance.dataSkillGroup.GetSkill(heroLeaderData.skill, 1); _skillName.text = skillData.name; _skillIcon.spriteName = "SkillICONS_" + (int)heroLeaderData.skill; // _skillAttribute_Label.text = skillData. _ability_Label_1.text = "坦克" + ((int)(heroLeaderData.kTank * 100)).ToString() + "%"; _ability_Label_2.text = "导弹" + "\n" + ((int)(heroLeaderData.kMissile * 100)).ToString() + "%"; _ability_Label_3.text = "反坦" + ((int)(heroLeaderData.kUnknown * 100)).ToString() + "%"; _ability_Label_4.text = "装甲" + ((int)(heroLeaderData.kGun * 100)).ToString() + "%"; _ability_Label_5.text = "火炮" + "\n" + ((int)(heroLeaderData.kCannon * 100)).ToString() + "%"; } }
public HeroData InitHeroData(DataHero data) { if (data != null) { DataHeroLeadership heroLeadershipData = heroGroupData.GetHeroLeadership(data.id); Model_HeroGroup model_heroGroup = InstancePlayer.instance.model_User.model_heroGroup; Model_ItemGroup model_itemGroup = InstancePlayer.instance.model_User.model_itemGroup; Model_Formation model_formation = InstancePlayer.instance.model_User.model_Formation; HeroData heroData = new HeroData(); heroData.id = data.id; heroData.heroType = (HeroType)data.type; heroData.quality = heroLeadershipData.quality; heroData.IconName = UICommon.HERO_TEXTURE_ICON_PATH + data.id; heroData.skillId = (int)heroLeadershipData.skill; heroData.data = data; DataHeroUpgrade heroUpgradeData = heroGroupData.GetHeroUpgrade(data.id, 1); heroData.heroUpgradeData = heroUpgradeData; if (model_heroGroup.heroesMap.ContainsKey(data.id)) { heroData.level = model_heroGroup.GetCurrentLevel(data.id); heroData.recruitType = RecruitType.ALREADYRECRUIT; heroData.rank = model_heroGroup.GetCurrentStage(data.id); heroData.rankName = UICommon.HERO_RANK_ICON_PATH + model_heroGroup.GetCurrentStage(data.id); heroData.exp = model_heroGroup.GetHero(data.id).exp; } else { heroData.level = 1; heroData.rank = 1; //默认军衔为下士 heroData.rankName = UICommon.HERO_RANK_ICON_PATH + "1"; heroData.exp = 0; //isCanUnlock 是否能解锁 Item item = model_itemGroup.QueryItem(heroUpgradeData.itemId); if (item.num >= heroUpgradeData.itemCount) { heroData.recruitType = RecruitType.CANRECRUIT; } else { heroData.recruitType = RecruitType.UNABLERECRUIT; } } //英雄是否上阵 for (int i = 1; i < 4; i++) { heroData.team = (TEAM)0; if (model_formation.IsTeamContaninHero(i, data.id)) { heroData.team = (TEAM)i; break; } } switch ((int)heroLeadershipData.quality) { case 1: heroData.nameColor = UICommon.UNIT_NAME_COLOR_0; heroData.IconBgName = UICommon.UNIT_ICON_BG + "0"; break; case 2: heroData.nameColor = UICommon.UNIT_NAME_COLOR_1; heroData.IconBgName = UICommon.UNIT_ICON_BG + "1"; break; case 3: heroData.nameColor = UICommon.UNIT_NAME_COLOR_2; heroData.IconBgName = UICommon.UNIT_ICON_BG + "2"; break; case 4: heroData.nameColor = UICommon.UNIT_NAME_COLOR_3; heroData.IconBgName = UICommon.UNIT_ICON_BG + "3"; break; case 5: heroData.nameColor = UICommon.UNIT_NAME_COLOR_4; heroData.IconBgName = UICommon.UNIT_ICON_BG + "4"; break; default: heroData.nameColor = UICommon.UNIT_NAME_COLOR_0; heroData.IconBgName = UICommon.UNIT_ICON_BG + "0"; break; } return(heroData); } return(null); }