private void ShowBuffSkillDesc(uint uiBuffId, Vector3 BtnPos) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(uiBuffId); if (((dataByKey != null) && !string.IsNullOrEmpty(dataByKey.szSkillCombineDesc)) && (this.m_BuffSkillPanel != null)) { if (this.m_BuffDescTxtObj == null) { this.m_BuffDescTxtObj = Utility.FindChild(this.m_BuffDescNodeObj, "Text"); if (this.m_BuffDescTxtObj == null) { return; } } Text component = this.m_BuffDescTxtObj.GetComponent <Text>(); component.text = dataByKey.szSkillCombineDesc; float preferredHeight = component.preferredHeight; Vector2 sizeDelta = this.m_textBgImage.rectTransform.sizeDelta; preferredHeight += ((this.m_textBgImage.gameObject.transform.localPosition.y - component.gameObject.transform.localPosition.y) * 2f) + 10f; this.m_textBgImage.rectTransform.sizeDelta = new Vector2(sizeDelta.x, preferredHeight); Vector3 vector2 = BtnPos; RectTransform transform = this.m_BuffBtn0.GetComponent <RectTransform>(); vector2.y += (((this.m_BuffBtn0.transform.localScale.y * transform.rect.height) / 2f) + (preferredHeight / 2f)) + 15f; this.m_BuffDescNodeObj.transform.localPosition = vector2; this.m_BuffDescNodeObj.CustomSetActive(true); } }
private void InitBuffItem(CUIFormScript formScript, SLevelContext curLevelContext) { this.m_iLevelID = curLevelContext.m_mapID; this.m_CurDifficulType = curLevelContext.m_levelDifficulty; for (int i = 0; i < 3; i++) { string name = "buffInfoPanel/buffItem" + i; GameObject gameObject = this.m_form.transform.Find(name).gameObject; this.UpdateBuffItemChooseStat(i, i == (int)this.m_iSelectedBuffItem); uint num = curLevelContext.m_reviveInfo[curLevelContext.m_levelDifficulty].ReviveBuff[i]; this.m_WishBuffId[i] = num; ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(num); if (dataByKey != null) { if (dataByKey.szIconPath.get_Chars(0) != '\0') { Image component = gameObject.transform.Find("imageIcon").GetComponent <Image>(); string prefebPath = string.Format("{0}{1}", CUIUtility.s_Sprite_Dynamic_Skill_Dir, Utility.UTF8Convert(dataByKey.szIconPath)); GameObject spritePrefeb = CUIUtility.GetSpritePrefeb(prefebPath, true, true); component.SetSprite(spritePrefeb, false); } Text component2 = gameObject.transform.Find("buffNameText").GetComponent <Text>(); component2.text = StringHelper.UTF8BytesToString(ref dataByKey.szSkillCombineDesc); } } }
public override void OnRelease() { this.overlayCount = 0; Array.Clear(this.CustomParams, 0, this.CustomParams.Length); this.bExtraBuff = false; this.cfgData = null; this.battleParam = null; base.OnRelease(); }
public static int Get_Buff_CDTime(int buffid) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey((long)buffid); if (dataByKey == null) { return(-1); } return(dataByKey.iDuration); }
private void AddActionsFromSkillCombine(DictionaryView <string, Action> actions, int skillCombineID) { if (skillCombineID > 0) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey((long)skillCombineID); if (dataByKey != null) { this.AddAction(actions, dataByKey.szPrefab); } } }
public void AnalyseSkillCombine(ref List <string> ageList, int combineId) { if (combineId > 0) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(combineId); if (dataByKey != null) { ageList.Add(StringHelper.UTF8BytesToString(ref dataByKey.szPrefab)); } } }
public override void OnUse() { base.OnUse(); this.overlayCount = 0; this.controlTime = 0L; Array.Clear(this.CustomParams, 0, this.CustomParams.Length); this.bExtraBuff = false; this.cfgData = null; this.battleParam = null; this.skillContext = null; this.ulStartTime = 0L; }
public override void OnUse() { base.OnUse(); this.buffLevel = 1; this.overlayCount = 0; this.controlTime = 0L; Array.Clear(this.CustomParams, 0, this.CustomParams.Length); this.bExtraBuff = false; this.cfgData = null; this.battleParam = null; this.ulStartTime = 0L; this.iBuffWorkTimes = 0; this.bFirstEffect = false; }
public void AnalyseSkillCombine(ref ActorPreloadTab loadInfo, int combineId) { if (combineId > 0) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(combineId); if (dataByKey != null) { AssetLoadBase item = new AssetLoadBase { assetPath = StringHelper.UTF8BytesToString(ref dataByKey.szPrefab) }; string checkerKey = this.GetCheckerKey(item.assetPath, loadInfo.MarkID); if (!this.ageCheckerSet.ContainsKey(checkerKey)) { loadInfo.ageActions.Add(item); this.ageCheckerSet.Add(checkerKey, true); } if ((dataByKey.astSkillFuncInfo != null) && (dataByKey.astSkillFuncInfo.Length > 0)) { for (int i = 0; i < dataByKey.astSkillFuncInfo.Length; i++) { ResDT_SkillFunc func = dataByKey.astSkillFuncInfo[i]; if (((((func.dwSkillFuncType == 0x1c) || (func.dwSkillFuncType == 0x21)) || ((func.dwSkillFuncType == 0x36) || (func.dwSkillFuncType == 0x37))) && (((func.astSkillFuncParam != null) && (func.astSkillFuncParam.Length != 0)) && (func.astSkillFuncParam[0] != null))) && (func.astSkillFuncParam[0].iParam > 0)) { int iParam = func.astSkillFuncParam[0].iParam; if (func.dwSkillFuncType == 0x1c) { this.AnalyseSkillMark(ref loadInfo, iParam); } else if (func.dwSkillFuncType == 0x21) { if (combineId != iParam) { this.AnalyseSkillCombine(ref loadInfo, iParam); } } else if (func.dwSkillFuncType == 0x36) { this.AnalyseSkillCombine(ref loadInfo, iParam); } else if (func.dwSkillFuncType == 0x37) { this.AnalyseSkill(ref loadInfo, iParam); } } } } } } }
public override void OnUse() { base.OnUse(); this.buffLevel = 1; this.overlayCount = 0; this.controlTime = 0uL; Array.Clear(this.CustomParams, 0, this.CustomParams.Length); this.bExtraBuff = false; this.cfgData = null; this.battleParam = null; this.ulStartTime = 0uL; this.iBuffWorkTimes = 0; this.bFirstEffect = false; this.nextDestroy = false; this.SlotType = SkillSlotType.SLOT_SKILL_0; }
public void Init(int id) { base.SkillID = id; this.cfgData = GameDataMgr.skillCombineDatabin.GetDataByKey(id); if (this.cfgData != null) { base.ActionName = StringHelper.UTF8BytesToString(ref this.cfgData.szPrefab); } for (int i = 0; i < 6; i++) { this.CustomParams[i] = 0; } this.controlTime = 0L; this.battleParam = GameDataMgr.battleParam.GetAnyData(); this.ulStartTime = Singleton <FrameSynchr> .GetInstance().LogicFrameTick; }
private void ShowBuffSkillDesc(uint uiBuffId, Vector3 BtnPos) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(uiBuffId); if (dataByKey == null) { return; } if (!string.IsNullOrEmpty(dataByKey.szSkillCombineDesc)) { if (!this.m_BuffSkillPanel) { return; } if (this.m_BuffDescTxtObj == null) { this.m_BuffDescTxtObj = Utility.FindChild(this.m_BuffDescNodeObj, "Text"); if (this.m_BuffDescTxtObj == null) { return; } } this.m_BuffDescNodeObj.CustomSetActive(true); Text component = this.m_BuffDescTxtObj.GetComponent <Text>(); if (this.m_curActor && this.m_curActor.handle.ValueComponent != null) { ValueDataInfo[] actorValue = this.m_curActor.handle.ValueComponent.mActorValue.GetActorValue(); int actorSoulLevel = this.m_curActor.handle.ValueComponent.actorSoulLevel; uint configId = (uint)this.m_curActor.handle.TheActorMeta.ConfigId; component.set_text(CUICommonSystem.GetSkillDesc(dataByKey.szSkillCombineDesc, actorValue, 1, actorSoulLevel, configId)); } else { component.set_text(dataByKey.szSkillCombineDesc); } float num = component.get_preferredHeight(); Vector2 sizeDelta = this.m_textBgImage.get_rectTransform().sizeDelta; num += (this.m_textBgImage.gameObject.transform.localPosition.y - component.gameObject.transform.localPosition.y) * 2f + 10f; this.m_textBgImage.get_rectTransform().sizeDelta = new Vector2(sizeDelta.x, num); Vector3 localPosition = BtnPos; RectTransform component2 = this.m_BuffBtn0.GetComponent <RectTransform>(); localPosition.y += this.m_BuffBtn0.transform.localScale.y * component2.rect.height / 2f + num / 2f + 15f; this.m_BuffDescNodeObj.transform.localPosition = localPosition; } }
private void InitBuffItem(CUIFormScript formScript, SLevelContext curLevelContext, ResLevelCfgInfo lInfo) { this.m_iLevelID = curLevelContext.iLevelID; this.m_CurDifficulType = curLevelContext.difficulty; for (int i = 0; i < 3; i++) { string name = "buffInfoPanel/buffItem" + i; GameObject gameObject = this.m_form.transform.Find(name).gameObject; this.UpdateBuffItemChooseStat(i, i == this.m_iSelectedBuffItem); uint key = lInfo.astReviveInfo[curLevelContext.difficulty].ReviveBuff[i]; this.m_WishBuffId[i] = key; ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(key); if (dataByKey != null) { if (dataByKey.szIconPath[0] != '\0') { Image component = gameObject.transform.Find("imageIcon").GetComponent <Image>(); GameObject prefab = CUIUtility.GetSpritePrefeb(string.Format("{0}{1}", CUIUtility.s_Sprite_Dynamic_Skill_Dir, Utility.UTF8Convert(dataByKey.szIconPath)), true, true); component.SetSprite(prefab); } gameObject.transform.Find("buffNameText").GetComponent <Text>().text = StringHelper.UTF8BytesToString(ref dataByKey.szSkillCombineDesc); } } }
private static bool ParseSkillProperty(string s, out int value, uint heroId) { value = 0; int num = s.IndexOf('p'); int num2 = s.IndexOf('q'); int num3 = s.IndexOf('g'); int num4 = s.IndexOf('t'); int num5 = s.IndexOf('a'); int num6 = s.IndexOf('b'); if (num != -1) { if (num2 != -1) { int num7 = Convert.ToInt32(s.Substring(0, num)); int num8 = Convert.ToInt32(s.Substring(num + 1, num2 - num - 1)); int num9 = Convert.ToInt32(s.Substring(num2 + 1)); ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey((long)num7); DebugHelper.Assert(dataByKey != null, "ResSkillCombineCfgInfo[{0}] can not be found! from string:\"{1}\" heroId[{2}]", new object[] { num7, s, heroId.ToString() }); if (dataByKey != null) { value = dataByKey.astSkillFuncInfo[num8 - 1].astSkillFuncParam[num9 - 1].iParam; } return(true); } if (num3 != -1) { int num10 = Convert.ToInt32(s.Substring(0, num)); int num11 = Convert.ToInt32(s.Substring(num + 1, num3 - num - 1)); int num12 = Convert.ToInt32(s.Substring(num3 + 1)); ResSkillCombineCfgInfo dataByKey2 = GameDataMgr.skillCombineDatabin.GetDataByKey((long)num10); DebugHelper.Assert(dataByKey2 != null); if (dataByKey2 != null) { value = dataByKey2.astSkillFuncInfo[num11 - 1].astSkillFuncGroup[num12 - 1].iParam; } return(true); } } else if (num4 != -1) { if (num5 != -1) { int num13 = Convert.ToInt32(s.Substring(0, num4)); ResSkillCombineCfgInfo dataByKey3 = GameDataMgr.skillCombineDatabin.GetDataByKey((long)num13); DebugHelper.Assert(dataByKey3 != null); if (dataByKey3 != null) { value = dataByKey3.iDuration; } return(true); } if (num6 != -1) { int num14 = Convert.ToInt32(s.Substring(0, num4)); ResSkillCombineCfgInfo dataByKey4 = GameDataMgr.skillCombineDatabin.GetDataByKey((long)num14); DebugHelper.Assert(dataByKey4 != null); if (dataByKey4 != null) { value = dataByKey4.iDurationGrow; } return(true); } } return(false); }
private static bool ParseSkillProperty(string s, out int value) { value = 0; int index = s.IndexOf('p'); int num2 = s.IndexOf('q'); int num3 = s.IndexOf('g'); int length = s.IndexOf('t'); int num5 = s.IndexOf('a'); int num6 = s.IndexOf('b'); if (index != -1) { if (num2 != -1) { int key = Convert.ToInt32(s.Substring(0, index)); int num8 = Convert.ToInt32(s.Substring(index + 1, (num2 - index) - 1)); int num9 = Convert.ToInt32(s.Substring(num2 + 1)); ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey(key); DebugHelper.Assert(dataByKey != null, string.Format("ResSkillCombineCfgInfo[{0}] can not be found!", key)); if (dataByKey != null) { value = dataByKey.astSkillFuncInfo[num8 - 1].astSkillFuncParam[num9 - 1].iParam; } return(true); } if (num3 != -1) { int num10 = Convert.ToInt32(s.Substring(0, index)); int num11 = Convert.ToInt32(s.Substring(index + 1, (num3 - index) - 1)); int num12 = Convert.ToInt32(s.Substring(num3 + 1)); ResSkillCombineCfgInfo info2 = GameDataMgr.skillCombineDatabin.GetDataByKey(num10); DebugHelper.Assert(info2 != null); if (info2 != null) { value = info2.astSkillFuncInfo[num11 - 1].astSkillFuncGroup[num12 - 1].iParam; } return(true); } } else if (length != -1) { if (num5 != -1) { int num13 = Convert.ToInt32(s.Substring(0, length)); ResSkillCombineCfgInfo info3 = GameDataMgr.skillCombineDatabin.GetDataByKey(num13); DebugHelper.Assert(info3 != null); if (info3 != null) { value = info3.iDuration; } return(true); } if (num6 != -1) { int num14 = Convert.ToInt32(s.Substring(0, length)); ResSkillCombineCfgInfo info4 = GameDataMgr.skillCombineDatabin.GetDataByKey(num14); DebugHelper.Assert(info4 != null); if (info4 != null) { value = info4.iDurationGrow; } return(true); } } return(false); }
private void AddDamageValue(ref HurtEventResultInfo prm) { PoolObjHandle <ActorRoot> atker = prm.atker; SkillSlotType atkSlot = prm.hurtInfo.atkSlot; int hurtTotal = prm.hurtTotal; HurtTypeDef hurtType = prm.hurtInfo.hurtType; SKILL_USE_FROM_TYPE skillUseFrom = prm.hurtInfo.SkillUseFrom; if (this.m_listDamageActorValue != null && atkSlot <= SkillSlotType.SLOT_SKILL_VALID && atker) { uint objID = atker.handle.ObjID; this.DeleteTimeoutDamageValue(objID, 0uL); DAMAGE_ACTOR_INFO dAMAGE_ACTOR_INFO; if (!this.m_listDamageActorValue.TryGetValue(objID, ref dAMAGE_ACTOR_INFO)) { dAMAGE_ACTOR_INFO = default(DAMAGE_ACTOR_INFO); dAMAGE_ACTOR_INFO.actorType = atker.handle.TheActorMeta.ActorType; dAMAGE_ACTOR_INFO.actorName = atker.handle.name; dAMAGE_ACTOR_INFO.ConfigId = atker.handle.TheActorMeta.ConfigId; if (dAMAGE_ACTOR_INFO.actorType == ActorTypeDef.Actor_Type_Monster) { MonsterWrapper monsterWrapper = atker.handle.AsMonster(); dAMAGE_ACTOR_INFO.bMonsterType = monsterWrapper.GetActorSubType(); dAMAGE_ACTOR_INFO.actorSubType = monsterWrapper.GetActorSubSoliderType(); } Player player = Singleton <GamePlayerCenter> .instance.GetPlayer(atker.handle.TheActorMeta.PlayerId); if (player != null) { dAMAGE_ACTOR_INFO.playerName = player.Name; } dAMAGE_ACTOR_INFO.listDamage = new SortedList <ulong, SKILL_SLOT_HURT_INFO[]>(); this.m_listDamageActorValue.Add(objID, dAMAGE_ACTOR_INFO); } ulong logicFrameTick = Singleton <FrameSynchr> .instance.LogicFrameTick; SKILL_SLOT_HURT_INFO[] array; if (!dAMAGE_ACTOR_INFO.listDamage.TryGetValue(logicFrameTick, ref array)) { array = new SKILL_SLOT_HURT_INFO[12]; dAMAGE_ACTOR_INFO.listDamage.Add(logicFrameTick, array); } if (array[(int)atkSlot].listHurtInfo == null) { array[(int)atkSlot].listHurtInfo = new List <HURT_INFO>(); } if (array[(int)atkSlot].listHurtInfo != null) { string text = null; string strName = null; if (skillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_SKILL) { SkillSlot skillSlot; if (atkSlot < SkillSlotType.SLOT_SKILL_COUNT && atker.handle.SkillControl != null && (atker.handle.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero || atkSlot != SkillSlotType.SLOT_SKILL_0) && atker.handle.SkillControl.TryGetSkillSlot(atkSlot, out skillSlot) && skillSlot.SkillObj != null && skillSlot.SkillObj.cfgData != null) { if (!string.IsNullOrEmpty(skillSlot.SkillObj.IconName)) { text = skillSlot.SkillObj.IconName; } if (!string.IsNullOrEmpty(skillSlot.SkillObj.cfgData.szSkillName)) { strName = skillSlot.SkillObj.cfgData.szSkillName; } } } else if (skillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_EQUIP) { uint uiFromId = prm.hurtInfo.uiFromId; ResEquipInBattle dataByKey = GameDataMgr.m_equipInBattleDatabin.GetDataByKey(uiFromId); if (dataByKey != null) { text = dataByKey.szIcon; strName = dataByKey.szName; } } else if (skillUseFrom == SKILL_USE_FROM_TYPE.SKILL_USE_FROM_TYPE_AREATRIGGER) { uint uiFromId2 = prm.hurtInfo.uiFromId; ResSkillCombineCfgInfo dataByKey2 = GameDataMgr.skillCombineDatabin.GetDataByKey(uiFromId2); if (dataByKey2 != null) { text = dataByKey2.szIconPath; strName = dataByKey2.szSkillCombineName; } } int count = array[(int)atkSlot].listHurtInfo.get_Count(); int i; for (i = 0; i < count; i++) { if (array[(int)atkSlot].listHurtInfo.get_Item(i).strIconName == text) { HURT_INFO hURT_INFO; array[(int)atkSlot].listHurtInfo.get_Item(i).iValue = hURT_INFO.iValue + hurtTotal; break; } } if (i >= count) { HURT_INFO hURT_INFO2 = new HURT_INFO(hurtType, text, strName, hurtTotal, skillUseFrom); array[(int)atkSlot].listHurtInfo.Add(hURT_INFO2); } } dAMAGE_ACTOR_INFO.listDamage.set_Item(logicFrameTick, array); this.m_listDamageActorValue.set_Item(objID, dAMAGE_ACTOR_INFO); } }
public void AnalyseSkillCombine(ref ActorPreloadTab loadInfo, int combineId) { if (combineId > 0) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey((long)combineId); if (dataByKey != null) { AssetLoadBase item = new AssetLoadBase { assetPath = StringHelper.UTF8BytesToString(ref dataByKey.szPrefab) }; string checkerKey = this.GetCheckerKey(item.assetPath, loadInfo.MarkID); if (!this.ageCheckerSet.ContainsKey(checkerKey)) { loadInfo.ageActions.Add(item); this.ageCheckerSet.Add(checkerKey, true); } if ((dataByKey.bIsShowBuff == 1) && !string.IsNullOrEmpty(dataByKey.szIconPath)) { string path = CUIUtility.s_Sprite_Dynamic_Skill_Dir + dataByKey.szIconPath; if (!loadInfo.IsExistsSprite(path)) { loadInfo.AddSprite(path); } } if ((dataByKey.astSkillFuncInfo != null) && (dataByKey.astSkillFuncInfo.Length > 0)) { for (int i = 0; i < dataByKey.astSkillFuncInfo.Length; i++) { ResDT_SkillFunc func = dataByKey.astSkillFuncInfo[i]; if (((((func.dwSkillFuncType == 0x1c) || (func.dwSkillFuncType == 0x21)) || (((func.dwSkillFuncType == 0x36) || (func.dwSkillFuncType == 0x37)) || (func.dwSkillFuncType == 0x1b))) && (func.astSkillFuncParam != null)) && (func.astSkillFuncParam.Length != 0)) { int markId = 0; int skillID = 0; int iParam = 0; if (func.astSkillFuncParam[0] != null) { markId = func.astSkillFuncParam[0].iParam; } if (func.astSkillFuncParam[1] != null) { skillID = func.astSkillFuncParam[1].iParam; } if (func.astSkillFuncParam[5] != null) { iParam = func.astSkillFuncParam[5].iParam; } if (func.dwSkillFuncType == 0x1c) { this.AnalyseSkillMark(ref loadInfo, markId); } else if (func.dwSkillFuncType == 0x21) { if (combineId != markId) { this.AnalyseSkillCombine(ref loadInfo, markId); } } else if (func.dwSkillFuncType == 0x36) { this.AnalyseSkillCombine(ref loadInfo, markId); } else if (func.dwSkillFuncType == 0x37) { this.AnalyseSkill(ref loadInfo, skillID); } else if (func.dwSkillFuncType == 0x1b) { this.AnalyseSkillCombine(ref loadInfo, iParam); } } } } } } }
public void AnalyseSkillCombine(ref ActorPreloadTab loadInfo, int combineId) { if (combineId > 0) { ResSkillCombineCfgInfo dataByKey = GameDataMgr.skillCombineDatabin.GetDataByKey((long)combineId); if (dataByKey != null) { if (!this.skillCombineList.Contains((long)combineId)) { this.skillCombineList.Add((long)combineId); } AssetLoadBase assetLoadBase = default(AssetLoadBase); assetLoadBase.assetPath = StringHelper.UTF8BytesToString(ref dataByKey.szPrefab); string checkerKey = this.GetCheckerKey(assetLoadBase.assetPath, loadInfo.MarkID); if (!this.ageCheckerSet.ContainsKey(checkerKey)) { loadInfo.ageActions.Add(assetLoadBase); this.ageCheckerSet.Add(checkerKey, true); } if (dataByKey.bIsShowBuff == 1 && !string.IsNullOrEmpty(dataByKey.szIconPath)) { string path = CUIUtility.s_Sprite_Dynamic_Skill_Dir + dataByKey.szIconPath; if (!loadInfo.IsExistsSprite(path)) { loadInfo.AddSprite(path); } } if (dataByKey.astSkillFuncInfo != null && dataByKey.astSkillFuncInfo.Length > 0) { for (int i = 0; i < dataByKey.astSkillFuncInfo.Length; i++) { ResDT_SkillFunc resDT_SkillFunc = dataByKey.astSkillFuncInfo[i]; if ((resDT_SkillFunc.bSkillFuncType == 28 || resDT_SkillFunc.bSkillFuncType == 33 || resDT_SkillFunc.bSkillFuncType == 54 || resDT_SkillFunc.bSkillFuncType == 55 || resDT_SkillFunc.bSkillFuncType == 27 || resDT_SkillFunc.bSkillFuncType == 84 || resDT_SkillFunc.bSkillFuncType == 32) && resDT_SkillFunc.astSkillFuncParam != null && resDT_SkillFunc.astSkillFuncParam.Length != 0) { int num = 0; int num2 = 0; int combineId2 = 0; int combineId3 = 0; if (resDT_SkillFunc.astSkillFuncParam[0] != null) { num = resDT_SkillFunc.astSkillFuncParam[0].iParam; } if (resDT_SkillFunc.astSkillFuncParam[1] != null) { num2 = resDT_SkillFunc.astSkillFuncParam[1].iParam; } if (resDT_SkillFunc.astSkillFuncParam[5] != null) { combineId2 = resDT_SkillFunc.astSkillFuncParam[5].iParam; } if (resDT_SkillFunc.astSkillFuncParam[6] != null) { combineId3 = resDT_SkillFunc.astSkillFuncParam[6].iParam; } if (resDT_SkillFunc.bSkillFuncType == 28) { this.AnalyseSkillMark(ref loadInfo, num); } else if (resDT_SkillFunc.bSkillFuncType == 33) { if (combineId != num) { this.AnalyseSkillCombine(ref loadInfo, num); } } else if (resDT_SkillFunc.bSkillFuncType == 54) { this.AnalyseSkillCombine(ref loadInfo, num); } else if (resDT_SkillFunc.bSkillFuncType == 55) { this.AnalyseSkill(ref loadInfo, num2); } else if (resDT_SkillFunc.bSkillFuncType == 27) { this.AnalyseSkillCombine(ref loadInfo, combineId2); this.AnalyseSkillCombine(ref loadInfo, combineId3); } else if (resDT_SkillFunc.bSkillFuncType == 84) { this.AnalyseSkillCombine(ref loadInfo, num); this.AnalyseSkillCombine(ref loadInfo, num2); } else if (resDT_SkillFunc.bSkillFuncType == 32) { this.AnalyseSkillCombine(ref loadInfo, combineId3); } } } } } } }