private void SetSkillInfo(uint[] pskill, PPet pet, int num) { if (pskill != null) { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "level").text = "Lv." + pskill[1]; UIUtils.ChangeNormalShader(NGUITools.FindInChild <UISprite>(skillObjs[num - 1], "skillicn"), 20); var add = NGUITools.FindChild(skillObjs[num - 1], "add"); if (add == null) { return; } add.SetActive(true); int cost = PetLogic.GetSkillSpend((int)pskill[1], num); NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "add/costvalue").text = cost.ToString(); if (pskill[1] >= pet.lvl) { NGUITools.FindInChild <UISprite>(skillObjs[num - 1], "add/background").spriteName = "jiah"; NGUITools.FindInChild <BoxCollider>(skillObjs[num - 1], "add").enabled = false; } else { NGUITools.FindInChild <UISprite>(skillObjs[num - 1], "add/background").spriteName = "jia"; NGUITools.FindInChild <BoxCollider>(skillObjs[num - 1], "add").enabled = true; NGUITools.FindInChild <Button>(skillObjs[num - 1], "add").onClick = OnSkillUpgradeClick; if (cost > MeVo.instance.diam) { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "add/costvalue").color = ColorConst.FONT_RED; } else { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "add/costvalue").color = ColorConst.FONT_YELLOW; } } } else { if (num == 1) { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "level").text = "(进阶到绿色开启)"; } else if (num == 2) { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "level").text = "(进阶到蓝色开启)"; } else if (num == 3) { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "level").text = "(进阶到紫色开启)"; } else { NGUITools.FindInChild <UILabel>(skillObjs[num - 1], "level").text = "(进阶到橙色开启)"; } UIUtils.ChangeGrayShader(NGUITools.FindInChild <UISprite>(skillObjs[num - 1], "skillicn"), 21); NGUITools.FindChild(skillObjs[num - 1], "add").SetActive(false); } }
//升级宠物技能 private void OnSkillUpgradeClick(GameObject obj) { if (currentPPet != null) { int num = int.Parse(obj.transform.parent.gameObject.name); int[] skill = PetLogic.GetPetSkillInfo((int)currentPPet.petId, num); uint[] pskill = Singleton <PetMode> .Instance.GetPetSkill(currentPPet.id, (uint)num); int cost = PetLogic.GetSkillSpend((int)pskill[1], num); if (cost > MeVo.instance.diam) { MessageManager.Show("当前金币不足!"); } else if (Singleton <PetMode> .Instance.SkillPoint.point <= 0) { MessageManager.Show("技能点不足!"); } else { Singleton <PetControl> .Instance.UpgradePetSkill(currentPPet.id, (uint)num); } } }