public override void Process(Action _action, Track _track) { base.Process(_action, _track); Player hostPlayer = Singleton <GamePlayerCenter> .instance.GetHostPlayer(); if (hostPlayer != null && hostPlayer.Captain) { if (hostPlayer.Captain.handle.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Call) { CallActorWrapper callActorWrapper = hostPlayer.Captain.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null && callActorWrapper.hostActor) { callActorWrapper.hostActor.handle.ValueComponent.ChangeGoldCoinInBattle(this.iGoldToAdd, true, false, default(Vector3), false, default(PoolObjHandle <ActorRoot>)); } } else if (hostPlayer.Captain.handle.ValueComponent != null) { hostPlayer.Captain.handle.ValueComponent.ChangeGoldCoinInBattle(this.iGoldToAdd, true, false, default(Vector3), false, default(PoolObjHandle <ActorRoot>)); } } else if (hostPlayer == null) { DebugHelper.Assert(false, "invalid host player"); } else if (!hostPlayer.Captain) { DebugHelper.Assert(false, "invalid host player captain"); } else if (hostPlayer.Captain.handle.ValueComponent == null) { DebugHelper.Assert(false, "invalid host player captain->valuecomponent"); } }
private void CaptainHostSwitch(ref PoolObjHandle <ActorRoot> tarActor) { CallActorWrapper callActorWrapper = tarActor.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null) { callActorWrapper.CaptainHostSwitch(); } }
private void CallActorGetHostHero(ref PoolObjHandle <ActorRoot> srcActor, ref PoolObjHandle <ActorRoot> tempActor) { if (!srcActor || srcActor.handle.TheActorMeta.ActorType != ActorTypeDef.Actor_Type_Call) { return; } CallActorWrapper callActorWrapper = srcActor.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null) { tempActor = callActorWrapper.GetHostActor(); } }
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(); } } }
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); }
private PoolObjHandle <ActorRoot> SpawnCallActor(Action _action, int configId, ref PoolObjHandle <ActorRoot> tarActor) { PoolObjHandle <ActorRoot> actorHandle = _action.GetActorHandle(this.objectSpaceId); ActorMeta actorMeta = default(ActorMeta); ActorMeta actorMeta2 = actorMeta; actorMeta2.ConfigId = configId; actorMeta2.HostConfigId = tarActor.handle.TheActorMeta.ConfigId; actorMeta2.ActorType = ActorTypeDef.Actor_Type_Call; actorMeta2.ActorCamp = tarActor.handle.TheActorMeta.ActorCamp; actorMeta2.PlayerId = tarActor.handle.TheActorMeta.PlayerId; actorMeta = actorMeta2; VInt3 pos = VInt3.zero; VInt3 forward = tarActor.handle.forward; if (actorHandle) { pos = actorHandle.handle.location; } else { pos = tarActor.handle.location; } PoolObjHandle <ActorRoot> poolObjHandle = Singleton <GameObjMgr> .instance.SpawnCallActorEx(null, ref actorMeta, pos, forward, false, true); poolObjHandle.handle.InitActor(); CallActorWrapper callActorWrapper = poolObjHandle.handle.ActorControl as CallActorWrapper; if (callActorWrapper != null) { callActorWrapper.InitProperty(ref tarActor); } poolObjHandle.handle.PrepareFight(); poolObjHandle.handle.StartFight(); this.SetSoulLevel(ref poolObjHandle, tarActor.handle.ValueComponent.actorSoulLevel); if (callActorWrapper != null) { callActorWrapper.CopyImposterInfo(); } Singleton <GameObjMgr> .instance.AddActor(poolObjHandle); return(poolObjHandle); }
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; } }
public static GameObject GetMapGameObject(ActorRoot actor, bool bMiniMap, out UI3DEventCom evtCom) { evtCom = null; float num = 1f; GameObject gameObject = null; string text = string.Empty; bool flag = Singleton <WatchController> .GetInstance().IsWatching ? (actor.TheActorMeta.ActorCamp == COM_PLAYERCAMP.COM_PLAYERCAMP_1) : actor.IsHostCamp(); MinimapSys theMinimapSys = Singleton <CBattleSystem> .GetInstance().TheMinimapSys; if (theMinimapSys == null) { return(null); } if (actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero || actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Call) { if (!flag && actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Call) { CallActorWrapper callActorWrapper = actor.ActorControl as CallActorWrapper; if (callActorWrapper != null && !callActorWrapper.IsTrueType) { flag = true; } } text = (flag ? MiniMapSysUT.Map_HeroAlice_prefab : MiniMapSysUT.Map_HeroEnemy_prefab); bool flag2 = actor.TheActorMeta.PlayerId == Singleton <GamePlayerCenter> .GetInstance().HostPlayerId; if (flag2) { text = MiniMapSysUT.Map_HeroSelf_prefab; } if (bMiniMap) { gameObject = (flag ? theMinimapSys.mmpcHeroBgFrame_Friend : theMinimapSys.mmpcHeroBgFrame_Enemy); } else { gameObject = (flag ? theMinimapSys.bmpcHeroBgFrame_Friend : theMinimapSys.bmpcHeroBgFrame_Enemy); } if (!bMiniMap) { evtCom = new UI3DEventCom(); MiniMapSysUT.SetEventComScreenSize(evtCom, 40f, 40f, 1f); MiniMapSysUT.SetMapElement_EventParam(evtCom, actor.IsHostCamp(), MinimapSys.ElementType.Hero, actor.ObjID, (uint)actor.TheActorMeta.ConfigId); theMinimapSys.UI3DEventMgr.Register(evtCom, UI3DEventMgr.EventComType.Hero); } } else if (actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_EYE) { text = (flag ? MiniMapSysUT.Map_EyeAlice_prefab : MiniMapSysUT.Map_EyeEnemy_prefab); gameObject = (bMiniMap ? theMinimapSys.mmpcEye : theMinimapSys.bmpcEye); num = (bMiniMap ? 0.5f : 1f); if (!bMiniMap) { evtCom = new UI3DEventCom(); MiniMapSysUT.SetEventComScreenSize(evtCom, 30f, 18f, 1f); MiniMapSysUT.SetMapElement_EventParam(evtCom, actor.IsHostCamp(), MinimapSys.ElementType.Eye, actor.ObjID, (uint)actor.TheActorMeta.ConfigId); theMinimapSys.UI3DEventMgr.Register(evtCom, UI3DEventMgr.EventComType.Eye); } } else if (actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Monster) { byte actorSubType = actor.ActorControl.GetActorSubType(); if (actorSubType == 2) { byte actorSubSoliderType = actor.ActorControl.GetActorSubSoliderType(); if (actorSubSoliderType == 8 || actorSubSoliderType == 9 || actorSubSoliderType == 13 || actorSubSoliderType == 7) { return(null); } if (actorSubSoliderType == 11) { text = MiniMapSysUT.Map_RedBuff_prefab; gameObject = (bMiniMap ? theMinimapSys.mmpcRedBuff : theMinimapSys.bmpcRedBuff); num = (bMiniMap ? 0.6f : 1f); } else if (actorSubSoliderType == 10) { text = MiniMapSysUT.Map_BlueBuff_prefab; gameObject = (bMiniMap ? theMinimapSys.mmpcBlueBuff : theMinimapSys.bmpcBlueBuff); num = (bMiniMap ? 0.6f : 1f); } else { text = MiniMapSysUT.Map_Jungle_prefab; gameObject = (bMiniMap ? theMinimapSys.mmpcJungle : theMinimapSys.bmpcJungle); num = (bMiniMap ? 1f : 1.3f); } } else { if (bMiniMap) { gameObject = (flag ? theMinimapSys.mmpcAlies : theMinimapSys.mmpcEnemy); } else { gameObject = (flag ? theMinimapSys.bmpcAlies : theMinimapSys.bmpcEnemy); } text = (flag ? MiniMapSysUT.Map_SoilderAlice_prefab : MiniMapSysUT.Map_SoilderEnemy_prefab); num = (bMiniMap ? 0.3f : 0.6f); byte actorSubSoliderType2 = actor.ActorControl.GetActorSubSoliderType(); if (actorSubSoliderType2 == 16) { text = MiniMapSysUT.Map_Vanguard_prefab; num = (bMiniMap ? 1f : 1.5f); } if (!bMiniMap) { evtCom = new UI3DEventCom(); MiniMapSysUT.SetEventComScreenSize(evtCom, 30f, 18f, 1f); MiniMapSysUT.SetMapElement_EventParam(evtCom, actor.IsHostCamp(), MinimapSys.ElementType.Solider, actor.ObjID, (uint)actor.TheActorMeta.ConfigId); theMinimapSys.UI3DEventMgr.Register(evtCom, UI3DEventMgr.EventComType.Solider); } } } else if (actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Organ) { if (actor.TheStaticData.TheOrganOnlyInfo.OrganType == 1 || actor.TheStaticData.TheOrganOnlyInfo.OrganType == 4) { text = (flag ? MiniMapSysUT.Map_OrganAlice_prefab : MiniMapSysUT.Map_OrganEnemy_prefab); gameObject = (bMiniMap ? theMinimapSys.mmpcOrgan : theMinimapSys.bmpcOrgan); num = (bMiniMap ? 0.5f : 1f); if (!bMiniMap) { evtCom = new UI3DEventCom(); MiniMapSysUT.SetEventComScreenSize(evtCom, 30f, 32f, 1f); MiniMapSysUT.SetMapElement_EventParam(evtCom, flag, MinimapSys.ElementType.Tower, actor.ObjID, 0u); theMinimapSys.UI3DEventMgr.Register(evtCom, UI3DEventMgr.EventComType.Tower); if (flag) { Singleton <CBattleSystem> .GetInstance().TowerHitMgr.Register(actor.ObjID, (RES_ORGAN_TYPE)actor.TheStaticData.TheOrganOnlyInfo.OrganType); } } } else { if (actor.TheStaticData.TheOrganOnlyInfo.OrganType != 2) { return(null); } text = (flag ? MiniMapSysUT.Map_BaseAlice_prefab : MiniMapSysUT.Map_BaseEnemy_prefab); gameObject = (bMiniMap ? theMinimapSys.mmpcOrgan : theMinimapSys.bmpcOrgan); num = (bMiniMap ? 0.5f : 1f); if (!bMiniMap) { evtCom = new UI3DEventCom(); MiniMapSysUT.SetEventComScreenSize(evtCom, 30f, 32f, 1f); MiniMapSysUT.SetMapElement_EventParam(evtCom, flag, MinimapSys.ElementType.Base, actor.ObjID, 0u); theMinimapSys.UI3DEventMgr.Register(evtCom, UI3DEventMgr.EventComType.Tower); if (flag) { Singleton <CBattleSystem> .GetInstance().TowerHitMgr.Register(actor.ObjID, (RES_ORGAN_TYPE)actor.TheStaticData.TheOrganOnlyInfo.OrganType); } } } } if (string.IsNullOrEmpty(text) || gameObject == null) { return(null); } GameObject gameObject2 = Singleton <CGameObjectPool> .GetInstance().GetGameObject(text, enResourceType.BattleScene); if (gameObject2 != null) { gameObject2.transform.SetParent(gameObject.transform, true); gameObject2.transform.localScale = new Vector3(num, num, 1f); gameObject2.transform.localRotation = Quaternion.identity; MiniMapSysUT.NativeSizeLize(gameObject2); } if (actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Hero || actor.TheActorMeta.ActorType == ActorTypeDef.Actor_Type_Call) { float num2 = bMiniMap ? (34f * Sprite3D.Ratio()) : (65f * Sprite3D.Ratio()); MiniMapSysUT.NativeSizeLize(gameObject2, num2, num2); } return(gameObject2); }