Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
 }
Ejemplo n.º 3
0
 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);
        }
Ejemplo n.º 7
0
 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);
 }
Ejemplo n.º 8
0
        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();
 }
Ejemplo n.º 10
0
        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();
 }
Ejemplo n.º 12
0
        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++;
            }
        }
Ejemplo n.º 13
0
        public FueBattleStartState(string battleVOId)
        {
            BattleInitializationData data = BattleInitializationData.CreateFromBattleTypeVO(battleVOId);

            base.Setup(data, null);
        }
Ejemplo n.º 14
0
 public PvpMapDataLoader Initialize(BattleInitializationData battleData)
 {
     this.battleData = battleData;
     this.pvpTarget  = battleData.PvpTarget;
     return(this);
 }
Ejemplo n.º 15
0
 public static void GoToBattleStartState(BattleStartState state, BattleInitializationData data, TransitionCompleteDelegate onComplete)
 {
     state.Setup(data, onComplete);
     state.SetupTransition();
 }
Ejemplo n.º 16
0
        public static void GoToBattleStartState(BattleInitializationData data, TransitionCompleteDelegate onComplete)
        {
            BattleStartState state = new BattleStartState();

            BattleStartState.GoToBattleStartState(state, data, onComplete);
        }