Beispiel #1
0
 public LoginCommandsModule(IActionFactory actionFactory,
                            ITribeManager tribeManager,
                            IDbManager dbManager,
                            ILocker locker,
                            IWorld world,
                            Procedure procedure,
                            ICityFactory cityFactory,
                            ILocationStrategyFactory locationStrategyFactory,
                            IBarbarianTribeManager barbarianTribeManager,
                            CallbackProcedure callbackProcedure,
                            IChannel channel,
                            IThemeManager themeManager,
                            IPlayerFactory playerFactory,
                            ILoginHandler loginHandler)
 {
     this.actionFactory           = actionFactory;
     this.tribeManager            = tribeManager;
     this.dbManager               = dbManager;
     this.locker                  = locker;
     this.world                   = world;
     this.procedure               = procedure;
     this.callbackProcedure       = callbackProcedure;
     this.channel                 = channel;
     this.themeManager            = themeManager;
     this.playerFactory           = playerFactory;
     this.loginHandler            = loginHandler;
     this.cityFactory             = cityFactory;
     this.locationStrategyFactory = locationStrategyFactory;
     this.barbarianTribeManager   = barbarianTribeManager;
 }
Beispiel #2
0
 public BarbarianTribeCommandsLineModule(IBarbarianTribeManager barbarianTribeManager,
                                         ILocker locker,
                                         IWorld world)
 {
     this.barbarianTribeManager = barbarianTribeManager;
     this.locker = locker;
     this.world  = world;
 }
Beispiel #3
0
 public MapDataExport(IStrongholdManager strongholdManager,
                      ICityManager cityManager,
                      IForestManager forestManager,
                      IBarbarianTribeManager barbarianTribeManager,
                      ITribeManager tribeManager,
                      IWorld world,
                      IScheduler scheduler)
 {
     this.strongholdManager     = strongholdManager;
     this.cityManager           = cityManager;
     this.forestManager         = forestManager;
     this.barbarianTribeManager = barbarianTribeManager;
     this.tribeManager          = tribeManager;
     this.world     = world;
     this.scheduler = scheduler;
 }
Beispiel #4
0
 public World(IRoadManager roadManager,
              IStrongholdManager strongholdManager,
              ICityManager cityManager,
              IRegionManager regionManager,
              ITribeManager tribeManager,
              IBarbarianTribeManager barbarianTribeManager,
              IDbManager dbManager)
 {
     this.barbarianTribeManager = barbarianTribeManager;
     this.dbManager             = dbManager;
     Roads       = roadManager;
     strongholds = strongholdManager;
     Cities      = cityManager;
     Regions     = regionManager;
     Tribes      = tribeManager;
     Battles     = new Dictionary <uint, IBattleManager>();
     Lock        = new object();
     Players     = new ConcurrentDictionary <uint, IPlayer>();
 }
Beispiel #5
0
 public Engine(INetworkServer server,
               IPolicyServer policyServer,
               TServer thriftServer,
               DbLoader dbLoader,
               IPlayerSelectorFactory playerSelector,
               IPlayersRemoverFactory playersRemoverFactory,
               IStrongholdManager strongholdManager,
               IBarbarianTribeManager barbarianTribeManager,
               IWorld world,
               SystemVariablesUpdater systemVariablesUpdater,
               IScheduler scheduler,
               IDbManager dbManager,
               StrongholdActivationChecker strongholdActivationChecker,
               StrongholdChecker strongholdChecker,
               BarbarianTribeChecker barbarianTribeChecker,
               ICityChannel cityChannel,
               IStrongholdManagerLogger strongholdManagerLogger,
               StoreSync storeSync,
               IQueueListener queueListener,
               MapDataExport mapDataExport)
 {
     this.server                = server;
     this.policyServer          = policyServer;
     this.thriftServer          = thriftServer;
     this.dbLoader              = dbLoader;
     this.playerSelector        = playerSelector;
     this.playersRemoverFactory = playersRemoverFactory;
     this.strongholdManager     = strongholdManager;
     this.barbarianTribeManager = barbarianTribeManager;
     this.world = world;
     this.systemVariablesUpdater = systemVariablesUpdater;
     this.scheduler = scheduler;
     this.dbManager = dbManager;
     this.strongholdActivationChecker = strongholdActivationChecker;
     this.strongholdChecker           = strongholdChecker;
     this.barbarianTribeChecker       = barbarianTribeChecker;
     this.cityChannel             = cityChannel;
     this.strongholdManagerLogger = strongholdManagerLogger;
     this.storeSync     = storeSync;
     this.queueListener = queueListener;
     this.mapDataExport = mapDataExport;
 }
Beispiel #6
0
 public CityCreatePassiveAction(uint cityId,
                                uint x,
                                uint y,
                                string cityName,
                                IActionFactory actionFactory,
                                ICityRemoverFactory cityRemoverFactory,
                                Formula formula,
                                IWorld world,
                                ILocker locker,
                                IObjectTypeFactory objectTypeFactory,
                                IStructureCsvFactory structureCsvFactory,
                                ICityFactory cityFactory,
                                Procedure procedure,
                                IBarbarianTribeManager barbarianTribeManager,
                                CallbackProcedure callbackProcedure)
     : this(actionFactory, cityRemoverFactory, formula, world, locker, objectTypeFactory, structureCsvFactory, cityFactory, procedure, barbarianTribeManager, callbackProcedure)
 {
     this.cityId   = cityId;
     this.x        = x;
     this.y        = y;
     this.cityName = cityName;
 }
Beispiel #7
0
 public CityCreatePassiveAction(IActionFactory actionFactory,
                                ICityRemoverFactory cityRemoverFactory,
                                Formula formula,
                                IWorld world,
                                ILocker locker,
                                IObjectTypeFactory objectTypeFactory,
                                IStructureCsvFactory structureCsvFactory,
                                ICityFactory cityFactory,
                                Procedure procedure,
                                IBarbarianTribeManager barbarianTribeManager,
                                CallbackProcedure callbackProcedure)
 {
     this.actionFactory      = actionFactory;
     this.cityRemoverFactory = cityRemoverFactory;
     this.formula            = formula;
     this.world                 = world;
     this.locker                = locker;
     this.objectTypeFactory     = objectTypeFactory;
     this.structureCsvFactory   = structureCsvFactory;
     this.cityFactory           = cityFactory;
     this.procedure             = procedure;
     this.barbarianTribeManager = barbarianTribeManager;
     this.callbackProcedure     = callbackProcedure;
 }
Beispiel #8
0
 public BarbarianTribeChecker(IBarbarianTribeManager manager, IScheduler scheduler)
 {
     this.manager   = manager;
     this.scheduler = scheduler;
 }
Beispiel #9
0
        /// <summary>
        ///     Creates a city under the specified player with initial troop and main building
        /// </summary>
        public virtual void CreateCity(ICityFactory cityFactory, IPlayer player, string cityName, byte level, Position cityPosition, IBarbarianTribeManager barbarianTribeManager, out ICity city)
        {
            city = cityFactory.CreateCity(world.Cities.GetNextCityId(),
                                          player,
                                          cityName,
                                          cityPosition,
                                          formula.GetInitialCityResources(),
                                          formula.GetInitialCityRadius(),
                                          formula.GetInitialAp(),
                                          Theme.DEFAULT_THEME_ID,
                                          Theme.DEFAULT_THEME_ID,
                                          Theme.DEFAULT_THEME_ID,
                                          Theme.DEFAULT_THEME_ID);

            var        mainBuildingPosition = cityPosition.Left();
            IStructure mainBuilding         = city.CreateStructure(2000, level, mainBuildingPosition.X, mainBuildingPosition.Y);

            player.Add(city);

            world.Cities.Add(city);

            city.BeginUpdate();

            mainBuilding.BeginUpdate();
            world.Regions.Add(mainBuilding);
            mainBuilding.EndUpdate();

            var defaultTroop = city.CreateTroopStub();

            defaultTroop.BeginUpdate();
            defaultTroop.AddFormation(FormationType.Normal);
            defaultTroop.AddFormation(FormationType.Garrison);
            defaultTroop.AddFormation(FormationType.InBattle);
            defaultTroop.EndUpdate();

            RecalculateCityResourceRates(city);
            SetResourceCap(city);

            city.EndUpdate();

            if (player.GetCityCount() == 1)
            {
                barbarianTribeManager.CreateBarbarianTribeNear(1, 10, city.PrimaryPosition.X, city.PrimaryPosition.Y, 10);
            }
        }