private void InitHeroDeadInfoForm() { this.m_hostActor = Singleton <GamePlayerCenter> .instance.GetHostPlayer().Captain; if (this.m_hostActor) { PlayerKDA playerKDA = Singleton <BattleStatistic> .GetInstance().m_playerKDAStat.GetPlayerKDA(Singleton <GamePlayerCenter> .instance.HostPlayerId); if (playerKDA == null) { return; } ListView <CHostHeroDamage> .Enumerator enumerator = playerKDA.m_hostHeroDamage.GetEnumerator(); while (enumerator.MoveNext()) { if (enumerator.Current != null && this.m_hostActor.handle.ObjID == enumerator.Current.GetHostHeroObjId()) { uint[] arrDiffTypeHurtValue = new uint[4]; uint[] array = new uint[2]; uint uiTotalDamage = 0u; int allActorsTotalDamageAndTopActorId = enumerator.Current.GetAllActorsTotalDamageAndTopActorId(ref array, 2, ref uiTotalDamage, ref arrDiffTypeHurtValue); uint uiObjId = 0u; ActorTypeDef actorTypeDef = ActorTypeDef.Invalid; enumerator.Current.GetKillerObjId(ref uiObjId, ref actorTypeDef); HURT_INFO[] array2 = new HURT_INFO[12]; int[] array3 = new int[3]; for (int i = 0; i < 1 + allActorsTotalDamageAndTopActorId; i++) { int num = 0; if (i == 0) { enumerator.Current.GetActorDamage(uiObjId, ref array2, ref num); } else { enumerator.Current.GetActorDamage(array[i - 1], ref array2, ref num); } array3[i] = num; } int num2 = (array3[0] > array3[1]) ? array3[0] : array3[1]; num2 = ((num2 > array3[2]) ? num2 : array3[2]); for (int j = 0; j < 1 + allActorsTotalDamageAndTopActorId; j++) { if (j == 0) { Transform trHeroPanel = this.m_heroDeadInfoForm.transform.FindChild("PanelDeadInfo/KillerGounp/PanelKiller"); this.InitHeroPanelInfo(uiObjId, trHeroPanel, array3[j], uiTotalDamage, array3[j] == num2, enumerator.Current); } else if (allActorsTotalDamageAndTopActorId == 2) { Transform trHeroPanel2 = this.m_heroDeadInfoForm.transform.FindChild("PanelDeadInfo/KillerGounp/PanelAssister" + (j - 1)); this.InitHeroPanelInfo(array[j - 1], trHeroPanel2, array3[j], uiTotalDamage, array3[j] == num2, enumerator.Current); } else { Transform trHeroPanel3 = this.m_heroDeadInfoForm.transform.FindChild("PanelDeadInfo/KillerGounp/PanelAssister" + j); this.InitHeroPanelInfo(array[j - 1], trHeroPanel3, array3[j], uiTotalDamage, array3[j] == num2, enumerator.Current); } } int num3 = 0; ulong hostHeroDeadTime = enumerator.Current.GetHostHeroDeadTime(); if (hostHeroDeadTime == (ulong)Singleton <BattleStatistic> .instance.m_battleDeadStat.m_uiFBTime) { num3 |= 2; } if (actorTypeDef == ActorTypeDef.Actor_Type_Organ) { num3 |= 4; } this.InitDeadInfoPanelBottomText(hostHeroDeadTime, arrDiffTypeHurtValue, uiTotalDamage, num3); this.ResetFormSize(1 + allActorsTotalDamageAndTopActorId); break; } } } }
private void InitHeroPanelSkillInfo(uint uiObjId, Transform trHeroPanel, uint uiTotalDamge, CHostHeroDamage objHostHeroDamage) { int num = 0; HURT_INFO[] array = new HURT_INFO[12]; objHostHeroDamage.GetActorDamage(uiObjId, ref array, ref num); for (int i = 0; i < 3; i++) { string name = "PanelSkill/Skill" + i; Transform transform = trHeroPanel.FindChild(name); if (transform) { if (array[i].iValue <= 0) { transform.gameObject.CustomSetActive(false); } else { transform.gameObject.CustomSetActive(true); PoolObjHandle <ActorRoot> actor = Singleton <GameObjMgr> .instance.GetActor(uiObjId); Transform transform2 = transform.FindChild("ImgSkill"); if (transform2) { Image component = transform2.GetComponent <Image>(); if (component) { if (array[i].strIconName != null) { if (array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_SKILL || array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_AREATRIGGER) { component.SetSprite(CUIUtility.s_Sprite_Dynamic_Skill_Dir + array[i].strIconName, this.m_heroDeadInfoForm, true, false, false, false); } else if (array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_EQUIP) { component.SetSprite(CUIUtility.s_Sprite_System_BattleEquip_Dir + array[i].strIconName, this.m_heroDeadInfoForm, true, false, false, false); } } else if (array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_EQUIP) { component.SetSprite(CUIUtility.s_Sprite_Dynamic_Skill_Dir + "1106", this.m_heroDeadInfoForm, true, false, false, false); } else { component.SetSprite(CUIUtility.s_Sprite_Dynamic_Skill_Dir + "1001", this.m_heroDeadInfoForm, true, false, false, false); } } } HurtTypeDef hurtType = array[i].hurtType; if (hurtType >= HurtTypeDef.PhysHurt && hurtType < HurtTypeDef.Max) { Transform transform3 = transform.FindChild("TxtSkillTypeBg"); if (transform3) { Image component2 = transform3.GetComponent <Image>(); if (component2) { component2.SetSprite("UGUI/Sprite/Common/" + CHostHeroDeadInfo.m_Skill_HurtType_Bg_ImgName[(int)hurtType], this.m_heroDeadInfoForm, true, false, false, false); } } Transform transform4 = transform.FindChild("TxtSkillType"); if (transform4) { Text component3 = transform4.GetComponent <Text>(); if (component3) { component3.set_text(this.m_Skill_HurtType_Name[(int)hurtType]); component3.set_color(CUIUtility.s_Text_Skill_HurtType_Color[(int)hurtType]); } } Transform transform5 = transform.FindChild("TxtSkillName"); if (transform5) { Text component4 = transform5.GetComponent <Text>(); if (component4) { if (array[i].strName != null) { component4.set_text(array[i].strName); } else { ActorTypeDef actorTypeDef = ActorTypeDef.Invalid; if (!actor) { int num2 = 0; string text = null; string text2 = null; ActorTypeDef actorTypeDef2 = ActorTypeDef.Invalid; byte b = 0; byte b2 = 0; if (objHostHeroDamage.GetDamageActorInfo(uiObjId, ref text, ref text2, ref actorTypeDef, ref num2, ref b, ref b2)) { actorTypeDef = actorTypeDef2; } } else { actorTypeDef = actor.handle.TheActorMeta.ActorType; } if (actorTypeDef == ActorTypeDef.Actor_Type_Hero) { if (array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_SKILL) { component4.set_text(this.m_strAtkSkill0Name); } else if (array[i].SkillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_EQUIP) { component4.set_text(this.m_strHeroEquipSkillName); } else { component4.set_text(this.m_strHeroPassiveSkillName); } } else { component4.set_text(this.m_strAtkSkill0Name); } } component4.set_color(CUIUtility.s_Text_SkillName_And_HurtValue_Color[(int)hurtType]); } } float value = (uiTotalDamge == 0u) ? 1f : ((float)array[i].iValue / uiTotalDamge); Transform transform6 = transform.FindChild("Damage"); if (transform6) { for (int j = 0; j < 4; j++) { Transform transform7 = transform6.FindChild(CHostHeroDeadInfo.m_Skill_HurtValue_Bg_ImgName[j]); if (transform7) { transform7.gameObject.CustomSetActive(j == (int)hurtType); if (j == (int)hurtType) { Image component5 = transform7.GetComponent <Image>(); if (component5) { component5.CustomFillAmount(value); } } } } } Transform transform8 = transform.FindChild("TxtDamageValue"); if (transform8) { Text component6 = transform8.GetComponent <Text>(); if (component6) { string text3 = string.Concat(new object[] { array[i].iValue, "(", value.ToString("P0"), ")" }); component6.set_text(text3); component6.set_color(CUIUtility.s_Text_SkillName_And_HurtValue_Color[(int)hurtType]); } } } } } } }