Exemple #1
0
        public void TestSimpleOneRoundExpeditionWithTenOfAllUnits()
        {
            var sendUnits = new UnitCollection(
                new UnitAmount(UnitInfo.WorkerUnitType, 10),
                new UnitAmount(UnitInfo.SoldierUnitType, 10),
                new UnitAmount(UnitInfo.ScientistUnitType, 10));
            ExpeditionData data = new ExpeditionData
            {
                Owner               = null, // not important
                StartingRound       = 1,
                EndingRound         = 1,
                AssignedUnits       = sendUnits,
                RemainingUnits      = sendUnits.Clone(),
                CurrentRange        = 0.0m,
                DiscoveredResources = new ResourceCollection()
            };

            ExpeditionLogic expeditionLogic = ObtainExpeditionLogic();

            var statePrinter = StatePrinters.For(data);

            statePrinter.PrintState(data, Console.Out);
            expeditionLogic.ProcessExpedition(data, 1);
            statePrinter.PrintState(data, Console.Out);
        }
        protected override object Converter(JToken expedition)
        {
            var expeditionData = new ExpeditionData()
            {
                Day         = DateTime.Today,
                LastUpdate  = expedition.Value <DateTime>("lastUpdate"),
                Expeditions = new List <Expedition>()
            };

            var expeditions = expedition.Value <JArray>("expeditionData");

            foreach (var exp in expeditions.Children <JObject>())
            {
                var expeditionToAdd = new Expedition()
                {
                    StartDate     = exp.Value <DateTime>("startDate"),
                    EndDate       = exp.Value <DateTime>("endDate"),
                    RouteId       = exp.Value <int>("routeId"),
                    TripId        = exp.Value <int>("tripId"),
                    TechnicalTrip = exp.Value <bool>("technicalTrip"),
                    MainRoute     = exp.Value <bool>("mainRoute")
                };

                expeditionData.Expeditions.Add(expeditionToAdd);
            }

            return(expeditionData);
        }
        private void UpdateGetRewardSuccess()
        {
            ExpeditionData data       = ExpeditionData.GetExpeditionDataByID(ExpeditionProxy.instance.selectExpeditionDungeonInfo.id);
            LuaTable       tips_model = LuaScriptMgr.Instance.CallLuaFunction("gamemanager.GetModel", "tips_model")[0] as LuaTable;
            LuaTable       tip_view   = tips_model.GetLuaFunction("GetTipView").Call("common_reward_tips_view")[0] as LuaTable;

            tip_view.GetLuaFunction("CreateByCSharpGameResDataList").Call(data.rewardList);
        }
        public static void ExpeditionUpdate(eRundownTier tier, int expIndex, ExpeditionInTierData inTierData)
        {
            _IsDefaultSettingBlocked = false;

            //Revert Previous Expedition Data
            if (_PreviousExpData != null)
            {
                _PreviousExpData.ScoutWaveSettings   = _DefaultWaveSettingID;
                _PreviousExpData.ScoutWavePopulation = _DefaultWavePopulationID;
            }

            _PreviousExpData         = inTierData.Expedition;
            _DefaultWaveSettingID    = _PreviousExpData.ScoutWaveSettings;
            _DefaultWavePopulationID = _PreviousExpData.ScoutWavePopulation;

            _CurrentExpeditionTier  = tier;
            _CurrentExpeditionIndex = expIndex;

            _ActiveScoutSettings.Clear();
            foreach (var setting in _ScoutSettings)
            {
                if (!setting.IsMatch(_CurrentExpeditionTier, _CurrentExpeditionIndex))
                {
                    continue;
                }

                foreach (var scoutSetting in setting.ScoutSettings)
                {
                    var targetSetting = GetTargetSetting(scoutSetting.TargetSetting);
                    var waveSetting   = GetWaveSetting(scoutSetting.WaveSetting);

                    if (targetSetting == null)
                    {
                        continue;
                    }

                    if (waveSetting == null)
                    {
                        continue;
                    }

                    var settingCache = new ScoutSettingCache()
                    {
                        TargetSetting = targetSetting,
                        WaveSetting   = waveSetting
                    };
                    _ActiveScoutSettings.Add(settingCache);
                }
            }

            if (_ActiveScoutSettings.Count > 0)
            {
                _PreviousExpData.ScoutWaveSettings   = 0u;
                _PreviousExpData.ScoutWavePopulation = 0u;
                _IsDefaultSettingBlocked             = true;
            }
        }
        TripsWithBusStops Map(BusLineData busLine, ExpeditionData expeditionObject, TripData tripData, BusStopData busStopData, StopInTripData stopInTripData)
        {
            var tripsWithBusStops = new TripsWithBusStops()
            {
                Day   = busLine.Day,
                Trips = new List <Trip>()
            };

            busLine.Routes.ForEach(route =>
            {
                var tripListByRouteId = tripData.Trips.Where(x => x.RouteId == route.RouteId).ToList();

                tripListByRouteId.ForEach(tripByRouteId =>
                {
                    var expedition = expeditionObject.Expeditions
                                     .FirstOrDefault(exp => exp.RouteId == tripByRouteId.RouteId &&
                                                     exp.TripId == tripByRouteId.TripId &&
                                                     (exp.StartDate.Date == busLine.Day.Date || exp.StartDate.Date < busLine.Day.Date));

                    if (expedition == null || expedition.TechnicalTrip)
                    {
                        return;
                    }

                    tripsWithBusStops.Trips.Add(
                        new Trip()
                    {
                        Id           = tripByRouteId.Id,
                        TripId       = tripByRouteId.TripId,
                        RouteId      = tripByRouteId.RouteId,
                        AgencyId     = route.AgencyId,
                        BusLineName  = route.RouteShortName,
                        MainRoute    = expedition.MainRoute,
                        TripHeadsign = tripByRouteId.TripHeadsign,
                        DirectionId  = tripByRouteId.DirectionId,
                        Stops        = _stopHelper.GetStopList(tripByRouteId, stopInTripData.StopsInTrip.Where(x => x.RouteId == tripByRouteId.RouteId && x.TripId == tripByRouteId.TripId).ToList(), expedition.MainRoute, busStopData.Stops)
                    });
                });
            });

            tripsWithBusStops.Trips = tripsWithBusStops.Trips.OrderBy(x => x.BusLineName).ToList();

            return(tripsWithBusStops);
        }
        public void OnClickDungeonButtonHandler()
        {
            if (!expeditionDungeonInfo.isUnlocked)
            {
                if (expeditionDungeonInfo.data.type != (int)ExpeditionDungeonType.Expedition_Normal)
                {
                    ExpeditionData data = ExpeditionData.GetExpeditionDataByID(expeditionDungeonInfo.id);
                    CommonRewardTipsView.Open(data.rewardList);
                }

                return;
            }
            ExpeditionProxy.instance.selectExpeditionDungeonInfo = expeditionDungeonInfo;
            int type = expeditionDungeonInfo.data.type;

            if (type == (int)ExpeditionDungeonType.Expedition_Normal)
            {
                if (expeditionDungeonInfo.isFinished)
                {
                    CommonAutoDestroyTipsView.Open(Localization.Get("ui.expedition_view.conquerOther"));
                    return;
                }
            }
            else
            {
                if (expeditionDungeonInfo.isFinished)
                {
                    ExpeditionData data = ExpeditionData.GetExpeditionDataByID(expeditionDungeonInfo.id);
                    if (!expeditionDungeonInfo.isGetReward)
                    {
                        CommonRewardTipsView.Open(data.rewardList, true, ClickRewardBtnHandler);
                    }
                    else
                    {
                        CommonRewardTipsView.Open(data.rewardList);
                    }
                    return;
                }
            }

            //ExpeditionFormationView.Open(true);
            ExpeditionEmbattleView.Open(true);
        }
Exemple #7
0
        public void TestThreeRoundExpeditionWithTenOfAllUnits()
        {
            var sendUnits = new UnitCollection(
                new UnitAmount(UnitInfo.WorkerUnitType, 10),
                new UnitAmount(UnitInfo.SoldierUnitType, 10),
                new UnitAmount(UnitInfo.ScientistUnitType, 10));
            ExpeditionData data = new ExpeditionData
            {
                Owner               = null, // not important
                StartingRound       = 1,
                EndingRound         = 3,
                AssignedUnits       = sendUnits,
                RemainingUnits      = sendUnits.Clone(),
                CurrentRange        = 0.0m,
                DiscoveredResources = new ResourceCollection()
            };

            var             gameState       = new GameState();
            ExpeditionLogic expeditionLogic = ObtainExpeditionLogic(gameState);

            var enemy1 = new Player("Nosgoh", PlayerType.Enemy);

            enemy1.BaseUnits = new UnitCollection(
                new UnitAmount(UnitInfo.SoldierUnitType, 40),
                new UnitAmount(UnitInfo.WargUnitType, 45));
            gameState.AddPlayer(enemy1);


            var statePrinter = StatePrinters.For(data);

            statePrinter.PrintState(data, Console.Out);
            expeditionLogic.ProcessExpedition(data, 1);
            statePrinter.PrintState(data, Console.Out);
            expeditionLogic.ProcessExpedition(data, 2);
            statePrinter.PrintState(data, Console.Out);
            expeditionLogic.ProcessExpedition(data, 3);
            statePrinter.PrintState(data, Console.Out);
        }
        public List <TripsWithBusStops> GetTripsWithBusStops(List <TripData> tripDataList, List <BusStopData> busStopDataList, List <BusLineData> busLineDataList, List <StopInTripData> stopInTripDataList, ExpeditionData expeditionObject)
        {
            var tripsWithBusStops = new List <TripsWithBusStops>();

            try
            {
                busLineDataList.ForEach(busLine => tripsWithBusStops.Add(
                                            Map(busLine, expeditionObject,
                                                tripDataList.SingleOrDefault(trip => trip.Day == busLine.Day),
                                                busStopDataList.SingleOrDefault(stop => stop.Day == busLine.Day),
                                                stopInTripDataList.SingleOrDefault(stopInTrip => stopInTrip.Day == busLine.Day)
                                                )));
            }
            catch (NullReferenceException nre)
            {
                var message = nre.Message;
            }

            return(tripsWithBusStops);
        }
 public List <TripsWithBusStops> GetTripsWithBusStopList(List <TripData> tripDataList, List <BusStopData> busStopDataList,
                                                         List <BusLineData> busLineDataList, List <StopInTripData> stopInTripDataList, ExpeditionData expeditionObject)
 {
     return(_tripsWithBusStopsService.GetTripsWithBusStops(tripDataList, busStopDataList, busLineDataList, stopInTripDataList, expeditionObject));
 }