Esempio n. 1
0
        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);
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
 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();
                }
            }
        }
Esempio n. 7
0
 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;
         }
     }
 }
Esempio n. 8
0
        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("无法获取到正确的角色信息");
    }
Esempio n. 10
0
    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("无法获取到正确的角色信息");
    }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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;
        }
Esempio n. 14
0
        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);
                            }
                        }
                    }
                }
            }
        }
Esempio n. 15
0
        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;
            }
        }
Esempio n. 16
0
        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;
            }
        }