private void AddActionsFromSpawnPoints(DictionaryView <string, Action> actions) { SpawnPoint[] array = Object.FindObjectsOfType <SpawnPoint>(); if (array == null || array.Length == 0) { return; } for (int i = 0; i < array.Length; i++) { SpawnPoint spawnPoint = array[i]; if (spawnPoint != null && spawnPoint.TheActorsMeta.Length > 0) { for (int j = 0; j < spawnPoint.TheActorsMeta.Length; j++) { ActorMeta actorMeta = spawnPoint.TheActorsMeta[j]; if (actorMeta.ConfigId > 0) { ActorTypeDef actorType = actorMeta.ActorType; if (actorType == ActorTypeDef.Actor_Type_Monster) { this.AddActionsFromSoldier(actions, (uint)actorMeta.ConfigId); } } } } } }
public void Init(PoolObjHandle <ActorRoot> _atker, PoolObjHandle <ActorRoot> _target) { if (_atker) { this.iActorLvl = _atker.get_handle().ValueComponent.mActorValue.actorLvl; this.iActorATT = _atker.get_handle().ValueComponent.mActorValue[1].totalValue; this.iActorINT = _atker.get_handle().ValueComponent.mActorValue[2].totalValue; this.iActorMaxHp = _atker.get_handle().ValueComponent.mActorValue[5].totalValue; this.iDEFStrike = _atker.get_handle().ValueComponent.mActorValue[7].totalValue; this.iRESStrike = _atker.get_handle().ValueComponent.mActorValue[8].totalValue; this.iDEFStrikeRate = _atker.get_handle().ValueComponent.mActorValue[34].totalValue; this.iRESStrikeRate = _atker.get_handle().ValueComponent.mActorValue[35].totalValue; this.iFinalHurt = _atker.get_handle().ValueComponent.mActorValue[13].totalValue; this.iCritStrikeRate = _atker.get_handle().ValueComponent.mActorValue[6].totalValue; this.iCritStrikeValue = _atker.get_handle().ValueComponent.mActorValue[24].totalValue; this.iCritStrikeEff = _atker.get_handle().ValueComponent.mActorValue[12].totalValue; this.iMagicHemophagia = _atker.get_handle().ValueComponent.mActorValue[27].totalValue; this.iPhysicsHemophagia = _atker.get_handle().ValueComponent.mActorValue[26].totalValue; this.iMagicHemophagiaRate = _atker.get_handle().ValueComponent.mActorValue[10].totalValue; this.iPhysicsHemophagiaRate = _atker.get_handle().ValueComponent.mActorValue[9].totalValue; this.iHurtOutputRate = _atker.get_handle().ValueComponent.mActorValue[31].totalValue; this.actorType = _atker.get_handle().TheActorMeta.ActorType; } else if (_target) { this.iReduceCritStrikeRate = _target.get_handle().ValueComponent.mActorValue[11].totalValue; this.iReduceCritStrikeValue = _target.get_handle().ValueComponent.mActorValue[25].totalValue; } }
public void Init(PoolObjHandle <ActorRoot> _atker, PoolObjHandle <ActorRoot> _target) { if (_atker != 0) { this.iActorLvl = _atker.handle.ValueComponent.mActorValue.actorLvl; this.iActorATT = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYATKPT].totalValue; this.iActorINT = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCATKPT].totalValue; this.iActorMaxHp = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MAXHP].totalValue; this.iDEFStrike = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYARMORHURT].totalValue; this.iRESStrike = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCARMORHURT].totalValue; this.iDEFStrikeRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_PHYARMORHURT_RATE].totalValue; this.iRESStrikeRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_MGCARMORHURT_RATE].totalValue; this.iFinalHurt = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_REALHURT].totalValue; this.iCritStrikeRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_CRITRATE].totalValue; this.iCritStrikeValue = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_CRITICAL].totalValue; this.iCritStrikeEff = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_CRITEFT].totalValue; this.iMagicHemophagia = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_MAGICHEM].totalValue; this.iPhysicsHemophagia = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_PHYSICSHEM].totalValue; this.iMagicHemophagiaRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCVAMP].totalValue; this.iPhysicsHemophagiaRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYVAMP].totalValue; this.iHurtOutputRate = _atker.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_HURTOUTPUTRATE].totalValue; this.actorType = _atker.handle.TheActorMeta.ActorType; } else if (_target != 0) { this.iReduceCritStrikeRate = _target.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_ANTICRIT].totalValue; this.iReduceCritStrikeValue = _target.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_PROPERTY_REDUCECRITICAL].totalValue; } }
public static PoolObjHandle <ActorRoot> AttachActorRoot(GameObject go, ActorTypeDef actorType, bool isFirstTime = true) { DebugHelper.Assert(!Singleton <BattleLogic> .instance.isFighting || Singleton <GameLogic> .instance.bInLogicTick); ActorConfig component = null; if (isFirstTime) { component = go.AddComponent <ActorConfig>(); } else { component = go.GetComponent <ActorConfig>(); if (null == component) { component = go.AddComponent <ActorConfig>(); } } ActorMeta theActorMeta = new ActorMeta { ActorType = actorType }; PoolObjHandle <ActorRoot> handle = component.AttachActorRoot(go, ref theActorMeta, null); handle.handle.Spawned(); return(handle); }
public int GetDeadNum(COM_PLAYERCAMP camp, ActorTypeDef actorType, int subType, int cfgId) { int num = 0; for (int i = 0; i < this.m_deadRecordList.Count; i++) { DeadRecord record = this.m_deadRecordList[i]; if (camp == record.camp) { DeadRecord record2 = this.m_deadRecordList[i]; if (actorType == record2.actorType) { DeadRecord record3 = this.m_deadRecordList[i]; if (subType == record3.actorSubType) { DeadRecord record4 = this.m_deadRecordList[i]; if (cfgId == record4.cfgId) { num++; } } } } } return(num); }
public int GetTotalNum(COM_PLAYERCAMP camp, ActorTypeDef actorType, byte actorSubType, byte actorSubSoliderType) { int num = 0; for (int i = 0; i < this.m_deadRecordList.Count; i++) { DeadRecord record = this.m_deadRecordList[i]; if (record.camp == camp) { DeadRecord record2 = this.m_deadRecordList[i]; if (record2.actorType == actorType) { DeadRecord record3 = this.m_deadRecordList[i]; if (record3.actorSubType == actorSubType) { DeadRecord record4 = this.m_deadRecordList[i]; if (record4.actorSubSoliderType == actorSubSoliderType) { num++; } } } } } return(num); }
public DeadRecord GetRecordAtIndex(COM_PLAYERCAMP camp, ActorTypeDef actorType, byte actorSubType, byte actorSubSoliderType, int index) { int num = 0; for (int i = 0; i < this.m_deadRecordList.Count; i++) { DeadRecord record = this.m_deadRecordList[i]; if (record.camp == camp) { DeadRecord record2 = this.m_deadRecordList[i]; if (record2.actorType == actorType) { DeadRecord record3 = this.m_deadRecordList[i]; if (record3.actorSubType == actorSubType) { DeadRecord record4 = this.m_deadRecordList[i]; if (record4.actorSubSoliderType == actorSubSoliderType) { if (num == index) { return(this.m_deadRecordList[i]); } num++; } } } } } return(new DeadRecord()); }
protected override EBTStatus update_impl(Agent pAgent, EBTStatus childStatus) { uint variable = (uint)pAgent.GetVariable((uint)0x4349179f); ActorTypeDef actorType = ((ObjAgent)pAgent).GetActorType(variable); ActorTypeDef def2 = ActorTypeDef.Actor_Type_Hero; return((actorType != def2) ? EBTStatus.BT_FAILURE : EBTStatus.BT_SUCCESS); }
public ActorSpawnInfo(int inCfgId, ActorTypeDef inActorType, COM_PLAYERCAMP inCampType, VInt3 inPos, VInt3 inDir) { this.ConfigId = inCfgId; this.ActorType = inActorType; this.CampType = inCampType; this.BornPos = inPos; this.BornDir = inDir; }
protected override EBTStatus update_impl(Agent pAgent, EBTStatus childStatus) { uint objID = (uint)pAgent.GetVariable(1128863647u); ActorTypeDef actorType = ((ObjAgent)pAgent).GetActorType(objID); ActorTypeDef actorTypeDef = ActorTypeDef.Actor_Type_Hero; return((actorType != actorTypeDef) ? EBTStatus.BT_SUCCESS : EBTStatus.BT_FAILURE); }
public void OnActorBattleCoinChanged(PoolObjHandle <ActorRoot> actor, int changeValue, bool isIncome, PoolObjHandle <ActorRoot> target) { if (isIncome && actor == this.actorHero) { uint num = 0u; uint num2 = (uint)(Singleton <FrameSynchr> .get_instance().LogicFrameTick / 1000uL); if (num2 >= 60u) { num = (num2 - 60u) / 30u + 1u; } this._totalCoin += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_ALL, this._totalCoin, num); if (target) { ActorTypeDef actorType = target.get_handle().TheActorMeta.ActorType; if (actorType == ActorTypeDef.Actor_Type_Hero) { this.m_iCoinFromKillHero += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_KILLHERO, this.m_iCoinFromKillHero, num); } else if (actorType == ActorTypeDef.Actor_Type_Organ) { this.m_iCoinFromKillTower += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_KILLTOWER, this.m_iCoinFromKillTower, num); } else if (actorType == ActorTypeDef.Actor_Type_Monster) { if (target.get_handle().ActorControl.GetActorSubType() == 1) { this.m_iCoinFromKillSolider += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_KILLSOLIDER, this.m_iCoinFromKillSolider, num); } else { MonsterWrapper monsterWrapper = target.get_handle().AsMonster(); if (monsterWrapper != null && monsterWrapper.cfgInfo != null) { if (monsterWrapper.cfgInfo.bSoldierType == 7 || monsterWrapper.cfgInfo.bSoldierType == 9 || monsterWrapper.cfgInfo.bSoldierType == 8) { this.m_iCoinFromKillDragon += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_KILLDRAGON, this.m_iCoinFromKillDragon, num); } else { this.m_iCoinFromKillMonster += changeValue; this.SetCoinRecorderInfo(KDAStat.GET_COIN_CHANNEL_TYPE.GET_COIN_CHANNEL_TYPE_KILLMONSTER, this.m_iCoinFromKillMonster, num); } } } } } else { this.m_iCoinFromSystem += changeValue; } this.uiLastRecordCoinIndex = num; } }
protected override EBTStatus update_impl(Agent pAgent, EBTStatus childStatus) { uint objID = (uint)pAgent.GetVariable(2561624163u); ActorTypeDef actorType = ((ObjAgent)pAgent).GetActorType(objID); ActorTypeDef actorTypeDef = ActorTypeDef.Actor_Type_Hero; bool flag = actorType == actorTypeDef; return((!flag) ? EBTStatus.BT_FAILURE : EBTStatus.BT_SUCCESS); }
public KillInfo(string inKillerImg, string inVictimImg, KillDetailInfoType type, bool bSrcAllies, bool bPlayerSelf_KillOrKilled, ActorTypeDef actorType) { this.KillerImgSrc = inKillerImg; this.VictimImgSrc = inVictimImg; this.MsgType = type; this.bSrcAllies = bSrcAllies; this.bPlayerSelf_KillOrKilled = bPlayerSelf_KillOrKilled; this.actorType = actorType; }
public KillInfo(string inKillerImg, string inVictimImg, KillDetailInfoType type, bool bSrcAllies, bool bPlayerSelf_KillOrKilled, ActorTypeDef actorType) { this.KillerImgSrc = inKillerImg; this.VictimImgSrc = inVictimImg; this.MsgType = type; this.bSrcAllies = bSrcAllies; this.bPlayerSelf_KillOrKilled = bPlayerSelf_KillOrKilled; this.actorType = actorType; KillNotify.knPriority.TryGetValue(type, out this.bPriority); }
public bool GetKillerObjId(ref uint uiObjId, ref ActorTypeDef actorType) { if (this.m_actorKiller) { uiObjId = this.m_actorKiller.handle.ObjID; actorType = this.m_actorKiller.handle.TheActorMeta.ActorType; return(true); } return(false); }
public DeadRecord(COM_PLAYERCAMP camp, ActorTypeDef actorType, int cfgId, int deadTime, COM_PLAYERCAMP killerCamp, uint plyaerID) { this.camp = camp; this.actorType = actorType; this.cfgId = cfgId; this.deadTime = deadTime; this.killerCamp = killerCamp; this.AttackPlayerID = plyaerID; this.actorSubType = 0; this.iOrder = 0; }
protected bool TargetType(uint selectID, ActorTypeDef ActorType) { bool result = false; if (selectID > 0u) { PoolObjHandle <ActorRoot> actor = Singleton <GameObjMgr> .GetInstance().GetActor(selectID); result = (actor && actor.handle.TheActorMeta.ActorType == ActorType); } return(result); }
public KillInfo(string inKillerImg, string inVictimImg, KillDetailInfoType type, bool bSrcAllies, bool bPlayerSelf_KillOrKilled, ActorTypeDef actorType, bool bSuicide = false) { this.KillerImgSrc = inKillerImg; this.VictimImgSrc = inVictimImg; this.MsgType = type; this.bSrcAllies = bSrcAllies; this.bPlayerSelf_KillOrKilled = bPlayerSelf_KillOrKilled; this.actorType = actorType; this.bSuicide = bSuicide; KillNotify.knPriority.TryGetValue(type, ref this.bPriority); this.assistImgSrc = new string[4]; this.killerObjID = 0u; }
public int GetTotalNum(COM_PLAYERCAMP camp, ActorTypeDef actorType, byte actorSubType, byte actorSubSoliderType) { int num = 0; for (int i = 0; i < this.m_deadRecordList.get_Count(); i++) { if (this.m_deadRecordList.get_Item(i).camp == camp && this.m_deadRecordList.get_Item(i).actorType == actorType && this.m_deadRecordList.get_Item(i).actorSubType == actorSubType && this.m_deadRecordList.get_Item(i).actorSubSoliderType == actorSubSoliderType) { num++; } } return(num); }
public int GetDeadNum(COM_PLAYERCAMP camp, ActorTypeDef actorType, int subType, int cfgId) { int num = 0; for (int i = 0; i < this.m_deadRecordList.get_Count(); i++) { if (camp == this.m_deadRecordList.get_Item(i).camp&& actorType == this.m_deadRecordList.get_Item(i).actorType&& subType == (int)this.m_deadRecordList.get_Item(i).actorSubType&& cfgId == this.m_deadRecordList.get_Item(i).cfgId) { num++; } } return(num); }
public int GetDeadNumAtTime(COM_PLAYERCAMP camp, ActorTypeDef actorType, int subType, int deadTime) { int num = 0; for (int i = 0; i < this.m_deadRecordList.get_Count(); i++) { DeadRecord deadRecord = this.m_deadRecordList.get_Item(i); if (camp == deadRecord.camp && deadRecord.actorType == actorType && (int)deadRecord.actorSubType == subType && deadRecord.deadTime < deadTime) { num++; } } return(num); }
public int GetDeadNumAtTime(COM_PLAYERCAMP camp, ActorTypeDef actorType, int subType, int deadTime) { int num = 0; for (int i = 0; i < this.m_deadRecordList.Count; i++) { DeadRecord record = this.m_deadRecordList[i]; if (((camp == record.camp) && (record.actorType == actorType)) && ((record.actorSubType == subType) && (record.deadTime < deadTime))) { num++; } } return(num); }
public int GetActorAverageFightTime(COM_PLAYERCAMP camp, ActorTypeDef actorType, int cfgId) { int num = 0; int count = this.m_deadRecordList.get_Count(); int num2 = 0; for (int i = 0; i < count; i++) { if (camp == this.m_deadRecordList.get_Item(i).camp&& actorType == this.m_deadRecordList.get_Item(i).actorType&& cfgId == this.m_deadRecordList.get_Item(i).cfgId) { num++; num2 += this.m_deadRecordList.get_Item(i).fightTime; } } return((num != 0) ? (num2 / num) : 0); }
public DeadRecord GetRecordAtIndex(COM_PLAYERCAMP camp, ActorTypeDef actorType, byte actorSubType, byte actorSubSoliderType, int index) { int num = 0; for (int i = 0; i < this.m_deadRecordList.get_Count(); i++) { if (this.m_deadRecordList.get_Item(i).camp == camp && this.m_deadRecordList.get_Item(i).actorType == actorType && this.m_deadRecordList.get_Item(i).actorSubType == actorSubType && this.m_deadRecordList.get_Item(i).actorSubSoliderType == actorSubSoliderType) { if (num == index) { return(this.m_deadRecordList.get_Item(i)); } num++; } } return(default(DeadRecord)); }
public int GetDeadTime(COM_PLAYERCAMP camp, ActorTypeDef actorType, int index) { int num = 0; for (int i = 0; i < this.m_deadRecordList.get_Count(); i++) { if (actorType == this.m_deadRecordList.get_Item(i).actorType&& camp == this.m_deadRecordList.get_Item(i).camp) { if (num == index) { return(this.m_deadRecordList.get_Item(i).deadTime); } num++; } } return(0); }
public static PoolObjHandle <ActorRoot> AttachActorRoot(GameObject go, ActorTypeDef actorType, COM_PLAYERCAMP camp, CActorInfo actorInfo) { DebugHelper.Assert((!Singleton <BattleLogic> .instance.isFighting || Singleton <GameLogic> .instance.bInLogicTick) || Singleton <FrameSynchr> .instance.isCmdExecuting); ActorConfig component = go.GetComponent <ActorConfig>(); if (null == component) { component = go.AddComponent <ActorConfig>(); } ActorMeta theActorMeta = new ActorMeta { ActorType = actorType, ActorCamp = camp }; PoolObjHandle <ActorRoot> handle = component.AttachActorRoot(go, ref theActorMeta, actorInfo); handle.handle.Spawned(); return(handle); }
public static PoolObjHandle <ActorRoot> AttachActorRoot(GameObject go, ActorTypeDef actorType, COM_PLAYERCAMP camp, CActorInfo actorInfo) { DebugHelper.Assert(!Singleton <BattleLogic> .get_instance().isFighting || Singleton <GameLogic> .get_instance().bInLogicTick || Singleton <FrameSynchr> .get_instance().isCmdExecuting); ActorConfig actorConfig = go.GetComponent <ActorConfig>(); if (null == actorConfig) { actorConfig = go.AddComponent <ActorConfig>(); } ActorMeta actorMeta = default(ActorMeta); ActorMeta actorMeta2 = actorMeta; actorMeta2.ActorType = actorType; actorMeta2.ActorCamp = camp; actorMeta = actorMeta2; PoolObjHandle <ActorRoot> result = actorConfig.AttachActorRoot(go, ref actorMeta, actorInfo); result.get_handle().Spawned(); return(result); }
public NONHERO_STATISTIC_INFO() { this.ActorType = ActorTypeDef.Actor_Type_Monster; this.ActorCamp = COM_PLAYERCAMP.COM_PLAYERCAMP_MID; this.uiTotalSpawnNum = 0u; this.uiTotalDeadNum = 0u; this.uiTotalAttackNum = 0u; this.uiTotalHurtCount = 0u; this.uiTotalBeAttackedNum = 0u; this.uiTotalBeHurtCount = 0u; this.uiAttackDistanceMax = 0u; this.uiAttackDistanceMin = 4294967295u; this.uiHurtMax = 0u; this.uiHurtMin = 4294967295u; this.uiBeHurtMax = 0u; this.uiBeHurtMin = 4294967295u; this.uiHpMax = 0u; this.uiHpMin = 4294967295u; this.uiFirstBeAttackTime = 0u; }
private void ActorMarkProcess(PoolObjHandle <ActorRoot> _inActor, AreaCheck.ActorAction _action) { if (!_inActor) { return; } DebugHelper.Assert(this.actor.TheActorMeta.ActorCamp != COM_PLAYERCAMP.COM_PLAYERCAMP_MID); if (this.actor.TheActorMeta.ActorCamp == COM_PLAYERCAMP.COM_PLAYERCAMP_MID) { return; } ActorTypeDef actorType = _inActor.handle.TheActorMeta.ActorType; if (actorType == ActorTypeDef.Actor_Type_Monster && !(_inActor.handle.ActorControl as MonsterWrapper).isCalledMonster) { if (_action == AreaCheck.ActorAction.Enter) { if (++this._aroundEnemyMonsterCount == 1) { this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue -= this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (_action == AreaCheck.ActorAction.Leave && --this._aroundEnemyMonsterCount == 0) { this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddPhyDef; this.actor.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCDEFPT].addValue += this.actor.TheStaticData.TheOrganOnlyInfo.NoEnemyAddMgcDef; } } else if (actorType == ActorTypeDef.Actor_Type_Hero || actorType == ActorTypeDef.Actor_Type_EYE) { if (_action == AreaCheck.ActorAction.Enter) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, 1); } else if (_action == AreaCheck.ActorAction.Leave) { _inActor.handle.HorizonMarker.AddShowMark(COM_PLAYERCAMP.COM_PLAYERCAMP_COUNT, HorizonConfig.ShowMark.Organ, -1); } } }
public int GetDeadTime(COM_PLAYERCAMP camp, ActorTypeDef actorType, int index) { int num = 0; for (int i = 0; i < this.m_deadRecordList.Count; i++) { DeadRecord record = this.m_deadRecordList[i]; if (actorType == record.actorType) { DeadRecord record2 = this.m_deadRecordList[i]; if (camp == record2.camp) { if (num == index) { DeadRecord record3 = this.m_deadRecordList[i]; return(record3.deadTime); } num++; } } } return(0); }