using System; using System.Collections.Generic; using System.Runtime.Remoting.Lifetime; using Games.GlobeDefine; using Games.LogicObj; using Games.SkillModle; using GCGame; using GCGame.Table; using Module.Log; using UnityEngine; using UnityEngine.UI; using System.Collections; using Games.MountModule; using Games.Fellow; using Games.Events; public class OtherPetInfoWnd : MonoBehaviour { public Text Title; public Text petName; //宠物名称 public Text petLevel; //宠物等级 public Text totlePower; //总战力 //基础属性 public Text Summ; //总评语 public Text grow; //成长 public Text attack;//攻击 public Text blood; //气血 public Text physical; //物理防御 public Text cultivation; //修为 public Text magic; //法术防御 public Text sawy; //悟性 public Text level; //携带等级 //详细属性 public Text Boneatitude; //根骨资质 public Text Forceatitude; //精力资质 public Text Poweratitude; //力量资质 public Text Smartatitude; //智力资质 public Text Agileatitude; //敏捷资质 public Text bone; //根骨 public Text force; //精力 public Text power; //力量 public Text smart; //智力 public Text agile; //敏捷 public Text hit; //命中 public Text avoid; //闪避 public GameObject[] skillIcons = new GameObject[8]; public InitAptitudeStart baseAptitudeStart; public UICameraTexture modelTexture; //模型展示的RenderTexture public Image PetQuilityIcon; public void AddStudySkill(Fellow fellow, int id, int index) { if (index > skillIcons.Length) return; GameObject skillHas = skillIcons[index]; if (skillHas == null) return; Transform child = skillHas.transform.Find("Child"); Tab_FellowSkill skillInfo = TableManager.GetFellowSkillByID(id, 0); if (skillInfo == null) { if (child != null) child.gameObject.SetActive(false); return; } if (fellow.IsHaveSkillId(id) == false) { if (child != null) child.gameObject.SetActive(false); return; } child.gameObject.SetActive(true); Transform skillIcon = skillHas.transform.Find("Child/Icon"); Transform level = skillHas.transform.Find("Child/Level"); Button Btn = skillHas.GetComponentInChildren<Button>(); if (skillIcon != null) { Image icon = skillIcon.gameObject.GetComponent<Image>(); if (icon != null) { LoadAssetBundle.Instance.SetImageSprite(icon, skillInfo.SkillIcon); } } if (level != null) { Text levelText = level.gameObject.GetComponent<Text>(); if (levelText != null) { levelText.text = "Lv." + skillInfo.Level.ToString(); } } if (Btn != null) { Btn.onClick.RemoveAllListeners(); Btn.onClick.AddListener(delegate () { OnClickSkillIcon(skillInfo, Btn.transform); }); } } public void OnClickSkillIcon(Tab_FellowSkill skill,Transform pos) { FellowSkillTooltip.ShowSkillToolTips(skill.Id,pos.position); } //基础属性 public void OPenBaseAttrWnd(Fellow pet,string Name ="") { if(Name!="") { Title.text = StrDictionary.GetClientDictionaryString("#{20155}", Name); } else { Title.text = StrDictionary.GetClientDictionaryString("#{20156}"); } petName.text = pet.Name; petLevel.text = string.Format("Lv.{0}", pet.Level); totlePower.text = pet.CombatValue.ToString(); Summ.text = pet.Summ; grow.text = pet.grow.ToString(); attack.text = pet.attack.ToString(); blood.text = pet.blood.ToString(); physical.text = pet.physical.ToString(); cultivation.text = pet.cultivation.ToString(); magic.text = pet.magic.ToString(); sawy.text = (pet.sawy * 1.0f / 100.0f).ToString(); Tab_FellowBase petBase = TableManager.GetFellowBaseByID(pet.DataId, 0); if (petBase != null) { level.text = petBase.CarryLevel.ToString(); } Tab_PromoteCultivation atitudeData = TableManager.GetPromoteCultivationByID(pet.cultivation, 0); if (atitudeData != null) { float addRate = atitudeData.AddAptitudePer * 1.0f / 100.0f; Boneatitude.text = string.Format("{0}(<color=#feff88ff>+{1}%</color>)", pet.Boneatitude, addRate); Forceatitude.text = string.Format("{0}(<color=#feff88ff>+{1}%</color>)", pet.Forceatitude, addRate); Poweratitude.text = string.Format("{0}(<color=#feff88ff>+{1}%</color>)", pet.Poweratitude, addRate); Smartatitude.text = string.Format("{0}(<color=#feff88ff>+{1}%</color>)", pet.Smartatitude, addRate); Agileatitude.text = string.Format("{0}(<color=#feff88ff>+{1}%</color>)", pet.Agileatitude, addRate); } bone.text = pet.bone.ToString(); force.text = pet.force.ToString(); power.text = pet.power.ToString(); smart.text = pet.smart.ToString(); agile.text = pet.agile.ToString(); hit.text = pet.hit.ToString(); avoid.text = pet.avoid.ToString(); if (baseAptitudeStart != null) { baseAptitudeStart.InitStart(pet.AptitudeTotle); } var modelTab = pet.CharModel(); if (modelTab != null) { modelTexture.InitModelPath(modelTab.ResPath,modelTab, LoadAssetBundle.BUNDLE_PATH_PET, true); } if (PetQuilityIcon != null) { LoadAssetBundle.Instance.SetImageSprite(PetQuilityIcon, Utils.GetFellowQuilityIcon(pet.Quality)); } for (int i = 0; i < skillIcons.Length; i++) { if (i == 0) { AddStudySkill(pet, pet.GY_skillid, i); continue; } if (i == 1) { AddStudySkill(pet, pet.MW_skillid, i); continue; } AddStudySkill(pet, pet.GetOwnSkillId(i - 2), i); } } public void Close() { UIManager.CloseUI(UIInfo.OtherPetInfoWndPath); } }