Ejemplo n.º 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;
 }
Ejemplo n.º 2
0
        public SystemVariablesUpdater(IWorld world,
                                      ITribeManager tribeManager,
                                      IDbManager dbManager,
                                      IScheduler scheduler,
                                      IStrongholdManager strongholdManager,
                                      IForestManager forestManager,
                                      ISystemVariableManager systemVariableManager,
                                      INetworkServer networkServer,
                                      IChannel channel,
                                      BlockingBufferManager bufferManager,
                                      SocketAwaitablePool socketAwaitablePool)
        {
            this.world                 = world;
            this.tribeManager          = tribeManager;
            this.dbManager             = dbManager;
            this.scheduler             = scheduler;
            this.strongholdManager     = strongholdManager;
            this.forestManager         = forestManager;
            this.systemVariableManager = systemVariableManager;
            this.networkServer         = networkServer;
            this.channel               = channel;
            this.bufferManager         = bufferManager;
            this.socketAwaitablePool   = socketAwaitablePool;

            if (!string.IsNullOrEmpty(Config.api_id))
            {
                graphiteKeyPrefix = string.Format("servers.{0}_tribalhero_com.tribalhero.", Config.api_id);
            }
        }
Ejemplo n.º 3
0
 public TribeController(IMemberManager memberManager, ITribeManager manager, ILogger <TribeController> logger,
                        IHostingEnvironment env)
 {
     this._memberManager = memberManager;
     this._manager       = manager;
     this._logger        = logger;
     this._env           = env;
 }
Ejemplo n.º 4
0
 public MemberController(IDivisionManager division, IMemberManager manager, ITribeManager tribe,
                         IGroupManager group, ILogger <MemberController> logger, IHostingEnvironment env)
 {
     this._division = division;
     this._manager  = manager;
     this._group    = group;
     this._logger   = logger;
     this._env      = env;
     this._tribe    = tribe;
 }
Ejemplo n.º 5
0
 public GroupController(IGroupManager manager, ITribeManager tribeManager, IMemberManager memberManager,
                        IHostingEnvironment env, ILogger <GroupController> logger, IVotedGroupManager votedGroupManager)
 {
     this._manager           = manager;
     this._tribeManager      = tribeManager;
     this._memberManager     = memberManager;
     this._env               = env;
     this._logger            = logger;
     this._votedGroupManager = votedGroupManager;
 }
Ejemplo n.º 6
0
 public TribeCommandsModule(IStrongholdManager strongholdManager,
                            IWorld world,
                            ITribeManager tribeManager,
                            ILocker locker)
 {
     this.strongholdManager = strongholdManager;
     this.world             = world;
     this.tribeManager      = tribeManager;
     this.locker            = locker;
 }
Ejemplo n.º 7
0
 public TribesmanCommandsModule(IActionFactory actionFactory,
                                IStructureCsvFactory structureCsvFactory,
                                ILocker locker,
                                IWorld world,
                                IDbManager dbManager,
                                IStrongholdManager strongholdManager,
                                ITribeManager tribeManager)
 {
     this.actionFactory       = actionFactory;
     this.structureCsvFactory = structureCsvFactory;
     this.locker            = locker;
     this.world             = world;
     this.dbManager         = dbManager;
     this.strongholdManager = strongholdManager;
     this.tribeManager      = tribeManager;
 }
Ejemplo n.º 8
0
 public StrongholdCommandLineModule(ITribeManager tribeManager,
                                    IWorld world,
                                    ILocker locker,
                                    IStrongholdManager strongholdManager,
                                    MapFactory mapFactory,
                                    Formula formula,
                                    ITileLocator tileLocator)
 {
     this.tribeManager      = tribeManager;
     this.world             = world;
     this.locker            = locker;
     this.strongholdManager = strongholdManager;
     this.mapFactory        = mapFactory;
     this.formula           = formula;
     this.tileLocator       = tileLocator;
 }
Ejemplo n.º 9
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;
 }
Ejemplo n.º 10
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>();
 }
Ejemplo n.º 11
0
 public PlayerCommandLineModule(IPlayersRemoverFactory playerRemoverFactory,
                                IPlayerSelectorFactory playerSelectorFactory,
                                ICityRemoverFactory cityRemoverFactory,
                                Chat chat,
                                IDbManager dbManager,
                                ITribeManager tribeManager,
                                IWorld world,
                                ILocker locker,
                                IStructureCsvFactory structureFactory,
                                UnitFactory unitFactory,
                                TechnologyFactory technologyFactory)
 {
     this.playerRemoverFactory  = playerRemoverFactory;
     this.playerSelectorFactory = playerSelectorFactory;
     this.cityRemoverFactory    = cityRemoverFactory;
     this.chat              = chat;
     this.dbManager         = dbManager;
     this.tribeManager      = tribeManager;
     this.world             = world;
     this.locker            = locker;
     this.structureFactory  = structureFactory;
     this.unitFactory       = unitFactory;
     this.technologyFactory = technologyFactory;
 }
Ejemplo n.º 12
0
 public AssignmentCommandLineModule(IWorld world, ITribeManager tribeManager, ILocker locker)
 {
     this.world        = world;
     this.tribeManager = tribeManager;
     this.locker       = locker;
 }
Ejemplo n.º 13
0
        public static void AddTribeInfo(IStrongholdManager strongholdManager,
                                        ITribeManager tribeManager,
                                        Session session,
                                        ITribe tribe,
                                        Packet packet)
        {
            if (session.Player.IsInTribe && tribe.Id == session.Player.Tribesman.Tribe.Id)
            {
                packet.AddByte(1);
                packet.AddUInt32(tribe.Id);
                packet.AddUInt32(tribe.Owner.PlayerId);
                packet.AddByte(tribe.Level);
                packet.AddString(tribe.Name);
                packet.AddString(tribe.Description);
                packet.AddString(tribe.PublicDescription);
                packet.AddFloat((float)tribe.VictoryPoint);
                packet.AddUInt32(UnixDateTime.DateTimeToUnix(tribe.Created));
                AddToPacket(tribe.Resource, packet);

                packet.AddInt16((short)tribe.Count);
                foreach (var tribesman in tribe.Tribesmen)
                {
                    packet.AddUInt32(tribesman.Player.PlayerId);
                    packet.AddString(tribesman.Player.Name);
                    packet.AddInt32(tribesman.Player.GetCityCount());
                    packet.AddByte(tribesman.Rank.Id);
                    packet.AddUInt32(tribesman.Player.IsLoggedIn ? 0 : UnixDateTime.DateTimeToUnix(tribesman.Player.LastLogin));
                    AddToPacket(tribesman.Contribution, packet);
                }

                // Incoming List
                var incomingList = tribeManager.GetIncomingList(tribe).ToList();
                packet.AddInt16((short)incomingList.Count());
                foreach (var incoming in incomingList)
                {
                    AddToPacket(incoming.Target, packet);
                    AddToPacket(incoming.Source, packet);

                    packet.AddUInt32(UnixDateTime.DateTimeToUnix(incoming.EndTime.ToUniversalTime()));
                }

                // Assignment List
                packet.AddInt16(tribe.AssignmentCount);
                foreach (var assignment in tribe.Assignments)
                {
                    AddToPacket(assignment, packet);
                }

                // Strongholds
                var strongholds = strongholdManager.StrongholdsForTribe(tribe).ToList();
                packet.AddInt16((short)strongholds.Count);
                foreach (var stronghold in strongholds)
                {
                    packet.AddUInt32(stronghold.ObjectId);
                    packet.AddString(stronghold.Name);
                    packet.AddByte((byte)stronghold.StrongholdState);
                    packet.AddByte(stronghold.Lvl);
                    packet.AddFloat((float)stronghold.Gate);
                    packet.AddInt32(stronghold.GateMax);
                    packet.AddUInt32(stronghold.PrimaryPosition.X);
                    packet.AddUInt32(stronghold.PrimaryPosition.Y);
                    packet.AddInt32(stronghold.Troops.StationedHere().Sum(x => x.Upkeep));
                    packet.AddFloat((float)stronghold.VictoryPointRate);
                    packet.AddUInt32(UnixDateTime.DateTimeToUnix(stronghold.DateOccupied.ToUniversalTime()));
                    packet.AddUInt32(stronghold.GateOpenTo == null ? 0 : stronghold.GateOpenTo.Id);
                    packet.AddString(stronghold.GateOpenTo == null ? string.Empty : stronghold.GateOpenTo.Name);
                    if (stronghold.GateBattle != null)
                    {
                        packet.AddByte(1);
                        packet.AddUInt32(stronghold.GateBattle.BattleId);
                    }
                    else if (stronghold.MainBattle != null)
                    {
                        packet.AddByte(2);
                        packet.AddUInt32(stronghold.MainBattle.BattleId);
                    }
                    else
                    {
                        packet.AddByte(0);
                    }
                }

                // Attackable Strongholds
                strongholds = strongholdManager.OpenStrongholdsForTribe(tribe).ToList();
                packet.AddInt16((short)strongholds.Count);
                foreach (var stronghold in strongholds)
                {
                    packet.AddUInt32(stronghold.ObjectId);
                    packet.AddString(stronghold.Name);
                    packet.AddUInt32(stronghold.Tribe == null ? 0 : stronghold.Tribe.Id);
                    packet.AddString(stronghold.Tribe == null ? string.Empty : stronghold.Tribe.Name);
                    packet.AddByte((byte)stronghold.StrongholdState);
                    packet.AddByte(stronghold.Lvl);
                    packet.AddUInt32(stronghold.PrimaryPosition.X);
                    packet.AddUInt32(stronghold.PrimaryPosition.Y);
                    if (stronghold.GateBattle != null)
                    {
                        packet.AddByte(1);
                        packet.AddUInt32(stronghold.GateBattle.BattleId);
                    }
                    else if (stronghold.MainBattle != null)
                    {
                        packet.AddByte(2);
                        packet.AddUInt32(stronghold.MainBattle.BattleId);
                    }
                    else
                    {
                        packet.AddByte(0);
                    }
                }
            }
            else
            {
                packet.AddByte(0);
                packet.AddUInt32(tribe.Id);
                packet.AddString(tribe.Name);
                packet.AddString(tribe.PublicDescription);
                packet.AddByte(tribe.Level);
                packet.AddUInt32(UnixDateTime.DateTimeToUnix(tribe.Created));

                packet.AddByte((byte)tribe.Ranks.Count());
                foreach (var rank in tribe.Ranks)
                {
                    packet.AddString(rank.Name);
                }

                packet.AddInt16((short)tribe.Count);
                foreach (var tribesman in tribe.Tribesmen)
                {
                    packet.AddUInt32(tribesman.Player.PlayerId);
                    packet.AddString(tribesman.Player.Name);
                    packet.AddInt32(tribesman.Player.GetCityCount());
                    packet.AddByte(tribesman.Rank.Id);
                }

                var strongholds = strongholdManager.StrongholdsForTribe(tribe).ToList();
                packet.AddInt16((short)strongholds.Count);
                foreach (var stronghold in strongholds)
                {
                    packet.AddUInt32(stronghold.ObjectId);
                    packet.AddString(stronghold.Name);
                    packet.AddByte(stronghold.Lvl);
                    packet.AddUInt32(stronghold.PrimaryPosition.X);
                    packet.AddUInt32(stronghold.PrimaryPosition.Y);
                }
            }
        }