public override void Process(Action _action, Track _track) { PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.TargetId); if (!actorHandle) { if (ActionManager.Instance.isPrintLog) { } return; } if (actorHandle && actorHandle.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) { HeroWrapper heroWrapper = actorHandle.handle.ActorControl as HeroWrapper; if (heroWrapper != null) { PoolObjHandle <ActorRoot> callActor = heroWrapper.GetCallActor(); if (callActor) { callActor.handle.Suicide(); } PoolObjHandle <ActorRoot> ptr = this.SpawnCallActor(_action, this.ConfigId, ref actorHandle); heroWrapper.SetCallActor(ref ptr); if (ptr && this.tempIdId >= 0) { _action.ExpandGameObject(this.tempIdId); _action.SetGameObject(this.tempIdId, ptr.handle.gameObject); } } } }
public static bool OnSkillFuncChangeMgcEffect(ref SSkillFuncContext inContext) { if (inContext.inStage == ESkillFuncStage.Enter) { int skillFuncParam = inContext.GetSkillFuncParam(0, false); int num2 = inContext.GetSkillFuncParam(2, false); int num3 = inContext.GetSkillFuncParam(4, false); ValueDataInfo info1 = inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYATKPT]; info1.totalEftRatioByMgc += num2; ValueDataInfo info2 = inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MAXHP]; info2.totalEftRatioByMgc += num3; HeroWrapper actorControl = inContext.inTargetObj.handle.ActorControl as HeroWrapper; if (actorControl != null) { actorControl.OnApChangeByMgcEffect(); inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCATKPT].ChangeEvent -= new ValueChangeDelegate(actorControl.OnApChangeByMgcEffect); inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCATKPT].ChangeEvent += new ValueChangeDelegate(actorControl.OnApChangeByMgcEffect); } } else if (inContext.inStage == ESkillFuncStage.Leave) { int num4 = inContext.GetSkillFuncParam(2, false); int num5 = inContext.GetSkillFuncParam(4, false); ValueDataInfo info3 = inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_PHYATKPT]; info3.totalEftRatioByMgc -= num4; ValueDataInfo info4 = inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MAXHP]; info4.totalEftRatioByMgc -= num5; HeroWrapper wrapper2 = inContext.inTargetObj.handle.ActorControl as HeroWrapper; if (wrapper2 != null) { inContext.inTargetObj.handle.ValueComponent.mActorValue[RES_FUNCEFT_TYPE.RES_FUNCEFT_MGCATKPT].ChangeEvent -= new ValueChangeDelegate(wrapper2.OnApChangeByMgcEffect); } } return(true); }
public void SetOperateMode(OperateMode _mode) { if (_mode == OperateMode.DefaultMode) { if (this.Captain && this.Captain.get_handle().LockTargetAttackModeControl != null) { this.Captain.get_handle().LockTargetAttackModeControl.ClearTargetID(); } } else if (this.Captain && this.Captain.get_handle().DefaultAttackModeControl != null) { this.Captain.get_handle().DefaultAttackModeControl.ClearCommonAttackTarget(); } this.useOperateMode = _mode; List <PoolObjHandle <ActorRoot> > heroActors = Singleton <GameObjMgr> .GetInstance().HeroActors; for (int i = 0; i < heroActors.get_Count(); i++) { PoolObjHandle <ActorRoot> poolObjHandle = heroActors.get_Item(i); if (poolObjHandle && poolObjHandle.get_handle().TheActorMeta.PlayerId == this.PlayerId) { HeroWrapper heroWrapper = poolObjHandle.get_handle().ActorControl as HeroWrapper; if (heroWrapper != null) { heroWrapper.CurOpMode = this.useOperateMode; } } } if (ActorHelper.IsHostCtrlActor(ref this.Captain)) { Singleton <EventRouter> .GetInstance().BroadCastEvent <CommonAttactType>(EventID.GAME_SETTING_COMMONATTACK_TYPE_CHANGE, (CommonAttactType)_mode); } }
public override void Enter(Action _action, Track _track) { base.Enter(_action, _track); this.actorTarget = _action.GetActorHandle(this.targetId); this.lastTime = 0; if (!this.actorTarget) { return; } this.bNeedRotate = false; this.curRotateSpd = 0; if (!this.bUseRotateToActor) { this.actorTarget.handle.ObjLinker.AddCustomRotateLerp(new CustomRotateLerpFunc(this.ActionRotateLerp)); } this.actorRotateTo = _action.GetActorHandle(this.RotateToId); if (this.bRotateToCallActor && this.actorRotateTo && this.actorRotateTo.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) { HeroWrapper heroWrapper = this.actorRotateTo.handle.ActorControl as HeroWrapper; if (heroWrapper != null) { this.actorRotateTo = heroWrapper.GetCallActor(); } } }
private void HostHeroGetMonster(ref PoolObjHandle <ActorRoot> srcActor, ref PoolObjHandle <ActorRoot> tempActor) { if (!srcActor || srcActor.handle.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero) { return; } HeroWrapper heroWrapper = srcActor.handle.ActorControl as HeroWrapper; if (heroWrapper != null && heroWrapper.hasCalledMonster) { tempActor = heroWrapper.CallMonster; } }
private void CaptainCallActorSwitch(ref PoolObjHandle <ActorRoot> tarActor) { HeroWrapper heroWrapper = tarActor.handle.ActorControl as HeroWrapper; if (heroWrapper != null) { CallActorWrapper callActorWrapper = heroWrapper.GetCallActor().handle.ActorControl as CallActorWrapper; if (callActorWrapper != null) { callActorWrapper.CaptainCallActorSwitch(); } } }
private void OnActorDead(ref GameDeadEventParam prm) { if (!this.m_bIsRecordMomentsEnable || !this.m_bIsStartRecordOk) { return; } if (!prm.src || prm.src.get_handle().TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero) { return; } this.UpdateRecordEvent(prm.atker, CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_ONCEKILL); if (Singleton <GamePlayerCenter> .get_instance() != null && Singleton <GamePlayerCenter> .get_instance().GetHostPlayer() != null && prm.atker != Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain) { if (prm.src && prm.src.get_handle().ActorControl != null) { List <KeyValuePair <uint, ulong> > .Enumerator enumerator = prm.src.get_handle().ActorControl.hurtSelfActorList.GetEnumerator(); while (enumerator.MoveNext()) { KeyValuePair <uint, ulong> current = enumerator.get_Current(); if (current.get_Key() == Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain.get_handle().ObjID) { this.UpdateRecordEvent(Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain, CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_ASSIST); return; } } } if (prm.atker && prm.atker.get_handle().ActorControl != null) { List <KeyValuePair <uint, ulong> > .Enumerator enumerator2 = prm.atker.get_handle().ActorControl.helpSelfActorList.GetEnumerator(); while (enumerator2.MoveNext()) { KeyValuePair <uint, ulong> current2 = enumerator2.get_Current(); if (current2.get_Key() == Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain.get_handle().ObjID) { this.UpdateRecordEvent(Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain, CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_ASSIST); return; } } } } else if (Singleton <GamePlayerCenter> .get_instance() != null && Singleton <GamePlayerCenter> .get_instance().GetHostPlayer() != null && prm.atker == Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain) { HeroWrapper heroWrapper = prm.orignalAtker.get_handle().ActorControl as HeroWrapper; if (heroWrapper != null && heroWrapper.ContiKillNum > this.m_iContinuKillMaxNum) { this.m_iContinuKillMaxNum = heroWrapper.ContiKillNum; } } }
private void UpdateRecordEvent(PoolObjHandle <ActorRoot> eventActor, CRecordUseSDK.RECORD_EVENT_PRIORITY eventPriority) { if (!this.m_bIsRecordMomentsEnable || !this.m_bIsStartRecordOk) { return; } if (eventPriority != CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_INVALID && Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().Captain != eventActor) { return; } long num = GameJoy.get_getSystemCurrentTimeMillis() - this.m_lGameStartTime; bool flag = false; if (eventActor && eventActor.get_handle().ActorControl != null) { HeroWrapper heroWrapper = eventActor.get_handle().ActorControl as HeroWrapper; if (heroWrapper != null) { flag = heroWrapper.IsInMultiKill(); } } if (!flag || eventPriority == CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_INVALID) { if (this.m_enLastEventPriority > CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_INVALID) { this.AddRecordEvent(this.m_enLastEventPriority, this.m_lLastEventStartTime, this.m_lLastEventEndTime); } this.m_enLastEventPriority = eventPriority; this.m_lLastEventStartTime = num; this.m_lLastEventEndTime = num; } else { if (this.m_enLastEventPriority != CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_INVALID && eventPriority <= this.m_enLastEventPriority) { return; } if (this.m_enLastEventPriority <= CRecordUseSDK.RECORD_EVENT_PRIORITY.RECORD_EVENT_TYPE_ASSIST) { this.m_lLastEventStartTime = num; } this.m_enLastEventPriority = eventPriority; this.m_lLastEventEndTime = num; } }
public static string GodMode() { if (!LobbyMsgHandler.isHostGMAcnt) { return("没有gm权限"); } Player hostPlayer = Singleton <GamePlayerCenter> .get_instance().GetHostPlayer(); if (hostPlayer != null && hostPlayer.Captain && hostPlayer.Captain.get_handle().ActorControl is HeroWrapper) { HeroWrapper heroWrapper = hostPlayer.Captain.get_handle().ActorControl as HeroWrapper; FrameCommand <SwitchActorSwitchGodMode> frameCommand = FrameCommandFactory.CreateFrameCommand <SwitchActorSwitchGodMode>(); frameCommand.cmdData.IsGodMode = ((!heroWrapper.bGodMode) ? 1 : 0); frameCommand.Send(); return(CheatCommandBase.Done); } return("无法获取到正确的角色信息"); }
public static string GodMode() { if (!LobbyMsgHandler.isHostGMAcnt) { return("没有gm权限"); } Player hostPlayer = Singleton <GamePlayerCenter> .instance.GetHostPlayer(); if (((hostPlayer != null) && (hostPlayer.Captain != 0)) && (hostPlayer.Captain.handle.ActorControl is HeroWrapper)) { HeroWrapper actorControl = hostPlayer.Captain.handle.ActorControl as HeroWrapper; FrameCommand <SwitchActorSwitchGodMode> command = FrameCommandFactory.CreateFrameCommand <SwitchActorSwitchGodMode>(); command.cmdData.IsGodMode = !actorControl.bGodMode ? ((sbyte)1) : ((sbyte)0); command.Send(); return(CheatCommandBase.Done); } return("无法获取到正确的角色信息"); }
public void Enter(Action _action, Track _track) { PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId); if (!actorHandle) { return; } HeroWrapper heroWrapper = actorHandle.handle.ActorControl as HeroWrapper; this.callActor = heroWrapper.GetCallActor(); CallActorWrapper callActorWrapper = this.callActor.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null) { this.imposterActor = callActorWrapper.GetImposterActor(); } this.EnterImposterMesh(ref this.callActor, ref this.imposterActor); }
public static string GetResourceName(Action _action, string _resName) { SkillUseContext refParamObject = _action.refParams.GetRefParamObject <SkillUseContext>("SkillContext"); if (((refParamObject != null) && (refParamObject.Originator != 0)) && ((refParamObject.Originator.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) && (refParamObject.Originator.handle.ActorControl != null))) { uint num; HeroWrapper actorControl = (HeroWrapper)refParamObject.Originator.handle.ActorControl; if ((actorControl != null) && actorControl.GetSkinCfgID(out num)) { int num2 = _resName.LastIndexOf('/'); StringBuilder builder = new StringBuilder(_resName); if (num2 >= 0) { StringBuilder builder2 = new StringBuilder(); builder2.AppendFormat("{0}{1}", num, "/"); builder.Insert(num2 + 1, builder2); return(builder.ToString()); } } } return(_resName); }
public override void Process(Action _action, Track _track) { PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.targetId); if (!actorHandle) { return; } SkillComponent skillControl = actorHandle.handle.SkillControl; if (skillControl == null) { return; } BaseSkill refParamObject = _action.refParams.GetRefParamObject <BaseSkill>("SkillObj"); if (refParamObject != null) { List <PoolObjHandle <ActorRoot> > list = this.FilterTargetByTriggerRegion(_action, actorHandle, refParamObject); if (this.bActOnCallMonster) { HeroWrapper heroWrapper = actorHandle.handle.ActorControl as HeroWrapper; if (list != null && heroWrapper != null && heroWrapper.hasCalledMonster) { list.Clear(); list.Add(heroWrapper.CallMonster); } } if (list != null && list.get_Count() > 0) { SkillChooseTargetEventParam skillChooseTargetEventParam = new SkillChooseTargetEventParam(actorHandle, actorHandle, list.get_Count()); Singleton <GameEventSys> .instance.SendEvent <SkillChooseTargetEventParam>(GameEventDef.Event_HitTrigger, ref skillChooseTargetEventParam); } SkillUseContext refParamObject2 = _action.refParams.GetRefParamObject <SkillUseContext>("SkillContext"); if (refParamObject2 != null) { int num = 0; refParamObject2.EffectCountInSingleTrigger = 1; if (this.bSkillCombineChoose && _action.refParams.GetRefParam("SpecifiedSkillCombineIndex", ref num)) { switch (num) { case 1: skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_1, false); break; case 2: skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_2, false); break; case 3: skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_3, false); break; } } else { skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_1, false); skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_2, false); skillControl.SpawnBuff(actorHandle, refParamObject2, this.SelfSkillCombineID_3, false); } if (list != null && list.get_Count() > 0) { for (int i = 0; i < list.get_Count(); i++) { refParamObject2.EffectDir = actorHandle.handle.forward; bool flag = skillControl.SpawnBuff(list.get_Item(i), refParamObject2, this.TargetSkillCombine_1, false); flag |= skillControl.SpawnBuff(list.get_Item(i), refParamObject2, this.TargetSkillCombine_2, false); flag |= skillControl.SpawnBuff(list.get_Item(i), refParamObject2, this.TargetSkillCombine_3, false); if (flag) { list.get_Item(i).handle.ActorControl.BeAttackHit(actorHandle, refParamObject2.bExposing); } } list.Clear(); } } } this.shape = null; }
private void onActorDead(ref GameDeadEventParam param) { CRoleInfo masterRoleInfo = Singleton <CRoleInfoManager> .GetInstance().GetMasterRoleInfo(); DebugHelper.Assert(masterRoleInfo != null, "Master Roleinfo is NULL!"); if (masterRoleInfo != null) { if ((param.atker != 0) && ActorHelper.IsHostActor(ref param.atker)) { if (param.src.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster) { MonsterWrapper wrapper = param.src.handle.AsMonster(); object[] inParameters = new object[] { param.src.handle.TheActorMeta.ConfigId }; DebugHelper.Assert((wrapper != null) && (wrapper.cfgInfo != null), "Can't find Monster config -- ID: {0}", inParameters); if ((wrapper.cfgInfo.bMonsterType == 1) && !masterRoleInfo.IsNewbieAchieveSet(0)) { this.ShowAchieve(enNewbieAchieve.COM_ACNT_CLIENT_BITS_TYPE_KILL_SOLDIER); masterRoleInfo.SetNewbieAchieve(0, true, false); } } else if (param.src.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Organ) { ResOrganCfgInfo dataCfgInfoByCurLevelDiff = OrganDataHelper.GetDataCfgInfoByCurLevelDiff(param.src.handle.TheActorMeta.ConfigId); object[] objArray2 = new object[] { param.src.handle.TheActorMeta.ConfigId }; DebugHelper.Assert(dataCfgInfoByCurLevelDiff != null, "Can't find Organ config -- ID: {0}", objArray2); if (dataCfgInfoByCurLevelDiff.bOrganType == 1) { if (!masterRoleInfo.IsNewbieAchieveSet(1)) { this.ShowAchieve(enNewbieAchieve.COM_ACNT_CLIENT_BITS_TYPE_DESTORY_ARROWTOWER); masterRoleInfo.SetNewbieAchieve(1, true, false); } } else if ((dataCfgInfoByCurLevelDiff.bOrganType == 2) && !masterRoleInfo.IsNewbieAchieveSet(2)) { this.ShowAchieve(enNewbieAchieve.COM_ACNT_CLIENT_BITS_TYPE_DESTORY_BASETOWER); masterRoleInfo.SetNewbieAchieve(2, true, false); } } } if ((param.src.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero) && (param.atker != 0)) { if (ActorHelper.IsHostActor(ref param.atker)) { if (!masterRoleInfo.IsNewbieAchieveSet(8)) { this.ShowAchieve(enNewbieAchieve.COM_ACNT_CLIENT_BITS_TYPE_KILL_HERO); masterRoleInfo.SetNewbieAchieve(8, true, false); } } else if (param.atker.handle.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Hero) { HeroWrapper actorControl = param.src.handle.ActorControl as HeroWrapper; if (actorControl != null) { PoolObjHandle <ActorRoot> lastHeroAtker = actorControl.LastHeroAtker; if (((lastHeroAtker != 0) && ActorHelper.IsHostActor(ref lastHeroAtker)) && !masterRoleInfo.IsNewbieAchieveSet(8)) { this.ShowAchieve(enNewbieAchieve.COM_ACNT_CLIENT_BITS_TYPE_KILL_HERO); masterRoleInfo.SetNewbieAchieve(8, true, false); } } } } } }
private void DoCheatAction(CTrainingHelper.ECheatAct inAct, CTrainingHelper.EActTarget inTar, int inParam) { Player hostPlayer = Singleton <GamePlayerCenter> .instance.GetHostPlayer(); COM_PLAYERCAMP playerCamp = hostPlayer.PlayerCamp; COM_PLAYERCAMP cOM_PLAYERCAMP = (playerCamp == COM_PLAYERCAMP.COM_PLAYERCAMP_1) ? COM_PLAYERCAMP.COM_PLAYERCAMP_2 : COM_PLAYERCAMP.COM_PLAYERCAMP_1; COM_PLAYERCAMP inCamp = (inTar == CTrainingHelper.EActTarget.Hostile) ? cOM_PLAYERCAMP : playerCamp; switch (inAct) { case CTrainingHelper.ECheatAct.LevelUp: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.LevelUp)); break; case CTrainingHelper.ECheatAct.SetLevel: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ResetSkillLevel)); CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.SetLevel)); break; case CTrainingHelper.ECheatAct.FullHp: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.FullHp)); break; case CTrainingHelper.ECheatAct.FullEp: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.FullEp)); break; case CTrainingHelper.ECheatAct.ToggleInvincible: { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); bool arg_F7_0 = curLvelContext != null && curLvelContext.IsMobaMode(); Player hostPlayer2 = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (hostPlayer2 != null && hostPlayer2.Captain && hostPlayer2.Captain.handle.ActorControl is HeroWrapper) { HeroWrapper heroWrapper = (HeroWrapper)hostPlayer2.Captain.handle.ActorControl; heroWrapper.bGodMode = !heroWrapper.bGodMode; } this.m_invincibleToggleFlag = !this.m_invincibleToggleFlag; this.RefreshBtnToggleInvincible(); break; } case CTrainingHelper.ECheatAct.ToggleAi: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ToggleAi)); this.m_aiToggleFlag = !this.m_aiToggleFlag; this.RefreshBtnToggleAi(); break; case CTrainingHelper.ECheatAct.ToggleSoldier: Singleton <BattleLogic> .GetInstance().mapLogic.EnableSoldierRegion(this.m_soldierToggleFlag); this.m_soldierToggleFlag = !this.m_soldierToggleFlag; this.RefreshBtnToggleSoldier(); break; case CTrainingHelper.ECheatAct.ResetSoldier: { Singleton <BattleLogic> .instance.mapLogic.ResetSoldierRegion(); Singleton <BattleLogic> .instance.dynamicProperty.ResetTimer(); Singleton <GameObjMgr> .GetInstance().KillSoldiers(); CTrainingHelper.OrganVisiter(COM_PLAYERCAMP.COM_PLAYERCAMP_1, inParam, new Action <ActorRoot, int>(CTrainingHelper.ReviveTower)); CTrainingHelper.OrganVisiter(COM_PLAYERCAMP.COM_PLAYERCAMP_2, inParam, new Action <ActorRoot, int>(CTrainingHelper.ReviveTower)); AttackOrder attackOrder = Singleton <BattleLogic> .instance.attackOrder; if (attackOrder != null) { attackOrder.FightOver(); attackOrder.FightStart(); } break; } case CTrainingHelper.ECheatAct.AddGold: { SLevelContext curLvelContext2 = Singleton <BattleLogic> .instance.GetCurLvelContext(); bool arg_268_0 = curLvelContext2 != null && curLvelContext2.IsMobaMode(); Player hostPlayer3 = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (hostPlayer3 != null && hostPlayer3.Captain) { if (hostPlayer3.Captain.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Call) { CallActorWrapper callActorWrapper = hostPlayer3.Captain.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null && callActorWrapper.hostActor) { callActorWrapper.hostActor.handle.ValueComponent.ChangeGoldCoinInBattle(1000, true, true, default(Vector3), false, default(PoolObjHandle <ActorRoot>)); } } else if (hostPlayer3.Captain.handle.ValueComponent != null) { hostPlayer3.Captain.handle.ValueComponent.ChangeGoldCoinInBattle(1000, true, true, default(Vector3), false, default(PoolObjHandle <ActorRoot>)); } } break; } case CTrainingHelper.ECheatAct.ToggleZeroCd: CTrainingHelper.HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ToggleZeroCd)); this.m_cdToggleFlag = !this.m_cdToggleFlag; this.RefreshBtnToggleCd(); break; } }
private void DoCheatAction(ECheatAct inAct, EActTarget inTar, int inParam) { COM_PLAYERCAMP playerCamp = Singleton <GamePlayerCenter> .instance.GetHostPlayer().PlayerCamp; COM_PLAYERCAMP com_playercamp2 = (playerCamp != COM_PLAYERCAMP.COM_PLAYERCAMP_1) ? COM_PLAYERCAMP.COM_PLAYERCAMP_1 : COM_PLAYERCAMP.COM_PLAYERCAMP_2; COM_PLAYERCAMP inCamp = (inTar != EActTarget.Hostile) ? playerCamp : com_playercamp2; switch (inAct) { case ECheatAct.LevelUp: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.LevelUp)); break; case ECheatAct.SetLevel: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ResetSkillLevel)); HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.SetLevel)); break; case ECheatAct.FullHp: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.FullHp)); break; case ECheatAct.FullEp: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.FullEp)); break; case ECheatAct.ToggleInvincible: { SLevelContext curLvelContext = Singleton <BattleLogic> .instance.GetCurLvelContext(); bool flag = (curLvelContext != null) && curLvelContext.IsMobaMode(); Player hostPlayer = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (((hostPlayer != null) && (hostPlayer.Captain != 0)) && (hostPlayer.Captain.handle.ActorControl is HeroWrapper)) { HeroWrapper actorControl = (HeroWrapper)hostPlayer.Captain.handle.ActorControl; actorControl.bGodMode = !actorControl.bGodMode; } this.m_invincibleToggleFlag = !this.m_invincibleToggleFlag; this.RefreshBtnToggleInvincible(); break; } case ECheatAct.ToggleAi: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ToggleAi)); this.m_aiToggleFlag = !this.m_aiToggleFlag; this.RefreshBtnToggleAi(); break; case ECheatAct.ToggleSoldier: Singleton <BattleLogic> .GetInstance().mapLogic.EnableSoldierRegion(this.m_soldierToggleFlag); this.m_soldierToggleFlag = !this.m_soldierToggleFlag; this.RefreshBtnToggleSoldier(); break; case ECheatAct.ResetSoldier: Singleton <BattleLogic> .instance.mapLogic.ResetSoldierRegion(); Singleton <BattleLogic> .instance.dynamicProperty.ResetTimer(); Singleton <GameObjMgr> .GetInstance().KillSoldiers(); OrganVisiter(COM_PLAYERCAMP.COM_PLAYERCAMP_1, inParam, new Action <ActorRoot, int>(CTrainingHelper.ReviveTower)); OrganVisiter(COM_PLAYERCAMP.COM_PLAYERCAMP_2, inParam, new Action <ActorRoot, int>(CTrainingHelper.ReviveTower)); break; case ECheatAct.AddGold: { SLevelContext context2 = Singleton <BattleLogic> .instance.GetCurLvelContext(); bool flag2 = (context2 != null) && context2.IsMobaMode(); Player player3 = Singleton <GamePlayerCenter> .GetInstance().GetHostPlayer(); if (((player3 != null) && (player3.Captain != 0)) && (player3.Captain.handle.ValueComponent != null)) { player3.Captain.handle.ValueComponent.ChangeGoldCoinInBattle(0x3e8, true, true, new Vector3(), false); } break; } case ECheatAct.ToggleZeroCd: HeroVisiter(inCamp, inParam, new Action <ActorRoot, int>(CTrainingHelper.ToggleZeroCd)); this.m_cdToggleFlag = !this.m_cdToggleFlag; this.RefreshBtnToggleCd(); break; } }