/// <summary> /// Initializes a new instance of the <see cref="GameServer" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="friendServer">The friend server.</param> /// <param name="stateObserver">The state observer.</param> public GameServer( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IPersistenceContextProvider persistenceContextProvider, IFriendServer friendServer, IServerStateObserver stateObserver) { this.Id = gameServerDefinition.ServerID; this.Description = gameServerDefinition.Description; this.stateObserver = stateObserver; try { var mapInitializer = new GameServerMapInitializer(gameServerDefinition, this.Id, stateObserver); this.gameContext = new GameServerContext(gameServerDefinition, guildServer, loginServer, friendServer, persistenceContextProvider, stateObserver, mapInitializer); } catch (Exception ex) { Logger.Fatal(ex); throw; } this.ServerInfo = new GameServerInfoAdapter(this, gameServerDefinition.ServerConfiguration); }
/// <summary> /// Initializes a new instance of the <see cref="GameServer" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="friendServer">The friend server.</param> /// <param name="loggerFactory">The logger factory.</param> /// <param name="plugInManager">The plug in manager.</param> public GameServer( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IPersistenceContextProvider persistenceContextProvider, IFriendServer friendServer, ILoggerFactory loggerFactory, PlugInManager plugInManager) { this.Id = gameServerDefinition.ServerID; this.Description = gameServerDefinition.Description; this.ConfigurationId = gameServerDefinition.GetId(); this.logger = loggerFactory.CreateLogger <GameServer>(); try { var mapInitializer = new GameServerMapInitializer(gameServerDefinition, loggerFactory.CreateLogger <GameServerMapInitializer>()); this.gameContext = new GameServerContext(gameServerDefinition, guildServer, loginServer, friendServer, persistenceContextProvider, mapInitializer, loggerFactory, plugInManager); this.gameContext.GameMapCreated += (sender, e) => this.OnPropertyChanged(nameof(this.Context)); this.gameContext.GameMapRemoved += (sender, e) => this.OnPropertyChanged(nameof(this.Context)); mapInitializer.PlugInManager = this.gameContext.PlugInManager; } catch (Exception ex) { this.logger.LogCritical(ex, "Error during map initialization"); throw; } this.ServerInfo = new GameServerInfoAdapter(this, gameServerDefinition.ServerConfiguration ?? throw new InvalidOperationException("GameServerDefinition requires a ServerConfiguration")); }
/// <summary> /// Initializes a new instance of the <see cref="GameServerContainer" /> class. /// </summary> /// <param name="loggerFactory">The logger factory.</param> /// <param name="servers">The servers.</param> /// <param name="gameServers">The game servers.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="connectServerContainer">The connect server container.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="friendServer">The friend server.</param> /// <param name="ipResolver">The ip resolver.</param> /// <param name="plugInManager">The plug in manager.</param> public GameServerContainer( ILoggerFactory loggerFactory, IList <IManageableServer> servers, IDictionary <int, IGameServer> gameServers, IPersistenceContextProvider persistenceContextProvider, ConnectServerContainer connectServerContainer, IGuildServer guildServer, ILoginServer loginServer, IFriendServer friendServer, IIpAddressResolver ipResolver, PlugInManager plugInManager) { this.loggerFactory = loggerFactory; this.servers = servers; this.gameServers = gameServers; this.persistenceContextProvider = persistenceContextProvider; this.connectServerContainer = connectServerContainer; this.guildServer = guildServer; this.loginServer = loginServer; this.friendServer = friendServer; this.ipResolver = ipResolver; this.plugInManager = plugInManager; this.logger = this.loggerFactory.CreateLogger <GameServerContainer>(); }
/// <summary> /// Initializes a new instance of the <see cref="GameServer" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="friendServer">The friend server.</param> public GameServer( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IPersistenceContextProvider persistenceContextProvider, IFriendServer friendServer) { this.Id = gameServerDefinition.ServerID; this.Description = gameServerDefinition.Description; this.ConfigurationId = gameServerDefinition.GetId(); try { var mapInitializer = new GameServerMapInitializer(gameServerDefinition, this.Id); this.gameContext = new GameServerContext(gameServerDefinition, guildServer, loginServer, friendServer, persistenceContextProvider, mapInitializer); this.gameContext.GameMapCreated += (sender, e) => this.OnPropertyChanged(nameof(this.Context)); this.gameContext.GameMapRemoved += (sender, e) => this.OnPropertyChanged(nameof(this.Context)); mapInitializer.PlugInManager = this.gameContext.PlugInManager; } catch (Exception ex) { Logger.Fatal(ex); throw; } this.ServerInfo = new GameServerInfoAdapter(this, gameServerDefinition.ServerConfiguration); }
/// <summary> /// Initializes a new instance of the <see cref="MessengerView"/> class. /// </summary> /// <param name="connection">The connection.</param> /// <param name="player">The player.</param> /// <param name="friendServer">The friend server.</param> /// <param name="appearanceSerializer">The appearance serializer.</param> public MessengerView(IConnection connection, Player player, IFriendServer friendServer, IAppearanceSerializer appearanceSerializer) { this.connection = connection; this.player = player; this.friendServer = friendServer; this.appearanceSerializer = appearanceSerializer; }
/// <summary> /// Initializes a new instance of the <see cref="GameServer"/> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="repositoryManager">The repository manager.</param> /// <param name="friendServer">The friend server.</param> public GameServer( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IRepositoryManager repositoryManager, IFriendServer friendServer) { this.Id = gameServerDefinition.ServerID; this.Description = gameServerDefinition.Description; try { this.gameContext = new GameServerContext(gameServerDefinition, guildServer, loginServer, friendServer, repositoryManager); } catch (Exception ex) { Logger.Fatal(ex); throw; } this.freePlayerIds = new ConcurrentBag <ushort>( Enumerable.Range( gameServerDefinition.ServerConfiguration.MaximumNPCs + 1, gameServerDefinition.ServerConfiguration.MaximumPlayers).Select(id => (ushort)id)); this.ServerInfo = new GameServerInfoAdapter(this, gameServerDefinition.ServerConfiguration); }
/// <summary> /// Initializes a new instance of the <see cref="GameServerContext" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="friendServer">The friend server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="mapInitializer">The map initializer.</param> public GameServerContext( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IFriendServer friendServer, IPersistenceContextProvider persistenceContextProvider, IMapInitializer mapInitializer) : base(gameServerDefinition.GameConfiguration, persistenceContextProvider, mapInitializer) { this.Id = gameServerDefinition.ServerID; this.GuildServer = guildServer; this.LoginServer = loginServer; this.FriendServer = friendServer; this.ServerConfiguration = gameServerDefinition.ServerConfiguration; }
public void SetUp() { this.gameServer1 = MockRepository.GenerateMock <IGameServer>(); this.gameServer1.Stub(gs => gs.Id).Return(1); this.gameServer2 = MockRepository.GenerateMock <IGameServer>(); this.gameServer2.Stub(gs => gs.Id).Return(2); this.gameServers = new Dictionary <int, IGameServer> { { this.gameServer1.Id, this.gameServer1 }, { this.gameServer2.Id, this.gameServer2 } }; this.repositoryManager = new TestRepositoryManager(); this.friendServer = new FriendServer.FriendServer(this.gameServers, null, this.repositoryManager); }
/// <summary> /// Initializes a new instance of the <see cref="GameServerContext"/> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="friendServer">The friend server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> public GameServerContext( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IFriendServer friendServer, IPersistenceContextProvider persistenceContextProvider) : base(gameServerDefinition.GameConfiguration, persistenceContextProvider) { this.Id = gameServerDefinition.ServerID; this.GuildServer = guildServer; this.LoginServer = loginServer; this.FriendServer = friendServer; this.ServerConfiguration = gameServerDefinition.ServerConfiguration; this.PacketHandlers = gameServerDefinition.ServerConfiguration.SupportedPacketHandlers.Select(m => new ConfigurableMainPacketHandler(m, this)).ToArray <IMainPacketHandler>(); this.GuildCache = new GuildCache(this, new GuildInfoSerializer()); }
/// <summary> /// Initializes a new instance of the <see cref="GameServerContext" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="friendServer">The friend server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="mapInitializer">The map initializer.</param> /// <param name="loggerFactory">The logger factory.</param> /// <param name="plugInManager">The plug in manager.</param> public GameServerContext( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IFriendServer friendServer, IPersistenceContextProvider persistenceContextProvider, IMapInitializer mapInitializer, ILoggerFactory loggerFactory, PlugInManager plugInManager) : base(gameServerDefinition.GameConfiguration ?? throw new InvalidOperationException("GameServerDefinition requires a GameConfiguration"), persistenceContextProvider, mapInitializer, loggerFactory, plugInManager) { this.gameServerDefinition = gameServerDefinition; this.Id = gameServerDefinition.ServerID; this.GuildServer = guildServer; this.LoginServer = loginServer; this.FriendServer = friendServer; this.ServerConfiguration = gameServerDefinition.ServerConfiguration ?? throw new InvalidOperationException("GameServerDefinition requires a ServerConfiguration"); }
/// <summary> /// Initializes a new instance of the <see cref="GameServerContext" /> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="friendServer">The friend server.</param> /// <param name="persistenceContextProvider">The persistence context provider.</param> /// <param name="stateObserver">The state observer.</param> /// <param name="mapInitializer">The map initializer.</param> public GameServerContext( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IFriendServer friendServer, IPersistenceContextProvider persistenceContextProvider, IServerStateObserver stateObserver, IMapInitializer mapInitializer) : base(gameServerDefinition.GameConfiguration, persistenceContextProvider, new ServerStateToGameStateObserverAdapter(stateObserver, gameServerDefinition.ServerID), mapInitializer) { this.Id = gameServerDefinition.ServerID; this.GuildServer = guildServer; this.LoginServer = loginServer; this.FriendServer = friendServer; this.ServerConfiguration = gameServerDefinition.ServerConfiguration; this.PacketHandlers = gameServerDefinition.ServerConfiguration.SupportedPacketHandlers.Select(m => new ConfigurableMainPacketHandler(m, this)).ToArray <IMainPacketHandler>(); }
public void SetUp() { this.gameServer1 = new Mock <IGameServer>(); this.gameServer1.Setup(gs => gs.Id).Returns(1); this.gameServer2 = new Mock <IGameServer>(); this.gameServer2.Setup(gs => gs.Id).Returns(2); this.gameServers = new Dictionary <int, IGameServer> { { this.gameServer1.Object.Id, this.gameServer1.Object }, { this.gameServer2.Object.Id, this.gameServer2.Object }, }; this.persistenceContextProvider = new InMemoryPersistenceContextProvider(); this.friendServer = new FriendServer.FriendServer(this.gameServers, null, this.persistenceContextProvider); var context = this.persistenceContextProvider.CreateNewContext(); this.player1 = context.CreateNew <Character>(); this.player1.Name = "player1"; this.player2 = context.CreateNew <Character>(); this.player2.Name = "player2"; }
public void SetUp() { this.gameServer1 = MockRepository.GenerateMock <IGameServer>(); this.gameServer1.Stub(gs => gs.Id).Return(1); this.gameServer2 = MockRepository.GenerateMock <IGameServer>(); this.gameServer2.Stub(gs => gs.Id).Return(2); this.gameServers = new Dictionary <int, IGameServer> { { this.gameServer1.Id, this.gameServer1 }, { this.gameServer2.Id, this.gameServer2 } }; this.persistenceContextProvider = new InMemoryPersistenceContextProvider(); this.friendServer = new FriendServer.FriendServer(this.gameServers, null, this.persistenceContextProvider); var context = this.persistenceContextProvider.CreateNewContext(); this.player1 = context.CreateNew <Character>(); this.player1.Name = "player1"; this.player2 = context.CreateNew <Character>(); this.player2.Name = "player2"; }
/// <summary> /// Initializes a new instance of the <see cref="GameServer"/> class. /// </summary> /// <param name="gameServerDefinition">The game server definition.</param> /// <param name="guildServer">The guild server.</param> /// <param name="loginServer">The login server.</param> /// <param name="repositoryManager">The repository manager.</param> /// <param name="friendServer">The friend server.</param> public GameServer( GameServerDefinition gameServerDefinition, IGuildServer guildServer, ILoginServer loginServer, IRepositoryManager repositoryManager, IFriendServer friendServer) { this.Id = gameServerDefinition.ServerID; this.Description = gameServerDefinition.Description; try { this.gameContext = new GameServerContext(gameServerDefinition, guildServer, loginServer, friendServer, repositoryManager); } catch (Exception ex) { Logger.Fatal(ex); throw; } this.ServerInfo = new GameServerInfoAdapter(this, gameServerDefinition.ServerConfiguration); }
/// <summary> /// Initializes a new instance of the <see cref="LetterSendAction"/> class. /// </summary> /// <param name="gameContext">The game context.</param> /// <param name="friendServer">The friend server.</param> /// <exception cref="System.ArgumentNullException">appearanceSerializer</exception> public LetterSendAction(IGameContext gameContext, IFriendServer friendServer) { this.gameContext = gameContext; this.friendServer = friendServer; }
/// <summary> /// Initializes a new instance of the <see cref="DeleteFriendHandler"/> class. /// </summary> /// <param name="friendServer">The friend server.</param> public DeleteFriendHandler(IFriendServer friendServer) { this.deleteAction = new DeleteFriendAction(friendServer); }
/// <summary> /// Initializes a new instance of the <see cref="LetterSendHandler"/> class. /// </summary> /// <param name="gameContext">The game context.</param> /// <param name="friendServer">The friend server.</param> public LetterSendHandler(IGameContext gameContext, IFriendServer friendServer) { this.sendAction = new LetterSendAction(gameContext, friendServer); }
/// <summary> /// Initializes a new instance of the <see cref="DeleteFriendAction"/> class. /// </summary> /// <param name="friendServer">The friend server.</param> public DeleteFriendAction(IFriendServer friendServer) { this.friendServer = friendServer; }