public static List <IAssetVO> GetBattlePreloads(BattleInitializationData battleData) { List <IAssetVO> list = new List <IAssetVO>(); StaticDataController staticDataController = Service.StaticDataController; SkinController skinController = Service.SkinController; BattleTypeVO battleTypeVO = (battleData == null) ? null : battleData.BattleVO; if (battleTypeVO == null || !battleTypeVO.OverridePlayerUnits) { Inventory inventory = Service.CurrentPlayer.Inventory; MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(inventory.Troop, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <SpecialAttackTypeVO>(inventory.SpecialAttack, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(inventory.Hero, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(inventory.Champion, list, battleData.AttackerEquipment, staticDataController, skinController); } if (battleTypeVO != null) { MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(battleTypeVO.TroopData, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <SpecialAttackTypeVO>(battleTypeVO.SpecialAttackData, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(battleTypeVO.HeroData, list, battleData.AttackerEquipment, staticDataController, skinController); MapDataLoaderUtils.AddDeployablesToList <TroopTypeVO>(battleTypeVO.ChampionData, list, battleData.AttackerEquipment, staticDataController, skinController); } MapDataLoaderUtils.AddSummonableVisitorsToList(battleData, staticDataController, list, skinController); MapDataLoaderUtils.AddFXPreloads(list); return(list); }
protected void Setup(BattleInitializationData data, TransitionCompleteDelegate onComplete) { this.battleData = data; this.onComplete = onComplete; Service.Get <BattleController>().InitializeCurrentBattle(data); Service.Get <EventManager>().SendEvent(EventId.BattleLoadStart, data); }
public NpcMapDataLoader Initialize(BattleInitializationData battleData, bool isPveBuffBase) { this.battleData = battleData; this.battle = battleData.BattleVO; this.isPveBuffBase = isPveBuffBase; return(this); }
public override void Execute() { base.Execute(); BattleInitializationData data = BattleInitializationData.CreateFromBattleTypeVO(this.prepareArgs[0]); BattleStartState.GoToBattleStartState(data, new TransitionCompleteDelegate(this.OnTransitionComplete)); }
public override void Start() { PlanetDetailsScreen highestLevelScreen = Service.Get <ScreenController>().GetHighestLevelScreen <PlanetDetailsScreen>(); if (highestLevelScreen != null) { highestLevelScreen.Close(null); } if (Service.Get <GameStateMachine>().CurrentState is GalaxyState) { Service.Get <GalaxyViewController>().GoToHome(); } BattleInitializationData data = BattleInitializationData.CreateFromDefensiveCampaignMissionVO(this.parent.MissionVO); BattleStartState.GoToBattleStartState(data, null); EventManager eventManager = Service.Get <EventManager>(); eventManager.RegisterObserver(this, EventId.BattleEndFullyProcessed, EventPriority.Default); eventManager.RegisterObserver(this, EventId.GameStateChanged, EventPriority.Default); if (this.parent.OnIntroHook()) { base.PauseBattle(); return; } this.StartMission(); }
public void InitPlayback(BattleRecord battleRecord, BattleEntry battleEntry) { this.CurrentBattleRecord = battleRecord; this.CurrentBattleEntry = battleEntry; BattleInitializationData battleInitializationData = BattleInitializationData.CreateFromReplay(this.CurrentBattleRecord, this.CurrentBattleEntry); this.battleController.InitializeCurrentBattle(battleInitializationData); }
public WarBaseMapDataLoader Initialize(BattleInitializationData battleData) { this.battleData = battleData; this.memberWarData = battleData.MemberWarData; this.squadId = battleData.Defender.GuildId; this.faction = battleData.Defender.PlayerFaction; this.defenderSquadTroops = battleData.DefenderGuildTroopsAvailable; this.defenderChampions = battleData.DefenderChampionsAvailable; return(this); }
public override void Prepare() { base.VerifyArgumentCount(1); IDataController dataController = Service.Get <IDataController>(); this.encounterVO = dataController.Get <CampaignMissionVO>(this.prepareArgs[0]); BattleInitializationData data = BattleInitializationData.CreateFromDefensiveCampaignMissionVO(this.encounterVO.Uid); BattleStartState.GoToBattleStartState(data, null); this.parent.ChildPrepared(this); }
public override void Start() { if (this.parent.MissionVO.Grind) { MissionIdRequest request = new MissionIdRequest(this.parent.MissionVO.Uid); GetMissionMapCommand getMissionMapCommand = new GetMissionMapCommand(request); getMissionMapCommand.AddSuccessCallback(new AbstractCommand <MissionIdRequest, GetMissionMapResponse> .OnSuccessCallback(this.OnServerGrindSelectionCompleteOnSuccess)); Service.Get <ServerAPI>().Sync(getMissionMapCommand); return; } this.data = BattleInitializationData.CreateFromCampaignMissionVO(this.parent.MissionVO.Uid); this.LoadBattle(); }
private void OnTargetReady(PvpTarget target, bool isRevenge) { Service.Get <CurrentPlayer>().ProtectedUntil = 0u; BattleInitializationData data = BattleInitializationData.CreateFromPvpTargetData(target, isRevenge); IState currentState = Service.Get <GameStateMachine>().CurrentState; if (currentState is BattleStartState) { BattleStartState.GoToBattleStartState((BattleStartState)currentState, data, new TransitionCompleteDelegate(this.OnBattleReady)); return; } BattleStartState.GoToBattleStartState(data, new TransitionCompleteDelegate(this.OnBattleReady)); }
private void OnServerGrindSelectionCompleteOnSuccess(GetMissionMapResponse response, object cookie) { this.data = BattleInitializationData.CreateFromCampaignMissionAndBattle(this.parent.MissionVO.Uid, response.BattleUid); this.LoadBattle(); }
private static void AddSummonableVisitorsToList(BattleInitializationData battleData, StaticDataController idc, List <IAssetVO> assets, SkinController sc) { List <string> list = new List <string>(); List <string> list2 = new List <string>(); List <string> list3 = new List <string>(); if (battleData.AttackerEquipment != null) { list3.AddRange(battleData.AttackerEquipment); } if (battleData.DefenderEquipment != null) { list3.AddRange(battleData.DefenderEquipment); } int count = list3.Count; for (int i = 0; i < count; i++) { EquipmentVO equipmentVO = idc.Get <EquipmentVO>(list3[i]); int num = equipmentVO.EffectUids.Length; for (int j = 0; j < num; j++) { EquipmentEffectVO equipmentEffectVO = idc.Get <EquipmentEffectVO>(equipmentVO.EffectUids[j]); int num2 = equipmentEffectVO.BuffUids.Length; for (int k = 0; k < num2; k++) { BuffTypeVO buffTypeVO = idc.Get <BuffTypeVO>(equipmentEffectVO.BuffUids[k]); if (buffTypeVO.Modify == BuffModify.Summon) { SummonDetailsVO summonDetailsVO = idc.Get <SummonDetailsVO>(buffTypeVO.Details); int num3 = summonDetailsVO.VisitorUids.Length; for (int l = 0; l < num3; l++) { string item = summonDetailsVO.VisitorUids[l]; List <string> list4 = (summonDetailsVO.VisitorType != VisitorType.Troop) ? list2 : list; if (!list4.Contains(item)) { list4.Add(item); } } } } } } int m = 0; int count2 = list.Count; while (m < count2) { MapDataLoaderUtils.AddDeployableToList <TroopTypeVO>(list[m], 1, assets, list3, idc, sc); m++; } int n = 0; int count3 = list2.Count; while (n < count3) { MapDataLoaderUtils.AddDeployableToList <SpecialAttackTypeVO>(list2[n], 1, assets, list3, idc, sc); n++; } }
public FueBattleStartState(string battleVOId) { BattleInitializationData data = BattleInitializationData.CreateFromBattleTypeVO(battleVOId); base.Setup(data, null); }
public PvpMapDataLoader Initialize(BattleInitializationData battleData) { this.battleData = battleData; this.pvpTarget = battleData.PvpTarget; return(this); }
public static void GoToBattleStartState(BattleStartState state, BattleInitializationData data, TransitionCompleteDelegate onComplete) { state.Setup(data, onComplete); state.SetupTransition(); }
public static void GoToBattleStartState(BattleInitializationData data, TransitionCompleteDelegate onComplete) { BattleStartState state = new BattleStartState(); BattleStartState.GoToBattleStartState(state, data, onComplete); }