コード例 #1
0
 public RoomController
 (
     IRoomManager roomManager
 )
 {
     _roomManager = roomManager;
 }
コード例 #2
0
        public async Task CreateRoomNoServersTest()
        {
            _serverProvider = new FakeServerProvider(false, true);

            _roomManager = new RoomManager(_serverProvider, _logger, _taskSchedulerFactory, _roomApiProvider);

            var            players    = new Dictionary <Guid, Dictionary <byte, object> >();
            var            properties = new Dictionary <byte, object>();
            var            success    = true;
            Exception      ex         = null;
            JoinRoomResult result     = null;

            properties.Add(PropertyCode.RoomProperties.TotalPlayersNeeded, 3);
            try
            {
                result = await _roomManager.CreateRoom(_group1Id, players, properties);
            }
            catch (Exception e)
            {
                success = false;
                ex      = e;
            }

            Assert.IsNotNull(result);
            Assert.AreEqual(result.Result, RoomOperationResult.ServerNotFound);
            Assert.AreEqual(true, success);
            Assert.AreEqual(null, ex);
            Assert.AreEqual(0, _roomManager.GetRoomsCount());
        }
コード例 #3
0
        private void init()
        {
            _dispatcher  = new RoomEventDispatcher();
            _roomFactory = new ServerRoomFactory(_dispatcher, _coRoutineManager, _assetManager);
            _roomManager = new SingleRoomManager(_roomFactory, _dispatcher, false, _roomListener);


            _loginServer = new LoginServer(_dispatcher, _roomManager);
            _loginServer.Start(new NetworkPortInfo(
                                   SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.BattleServer.TcpPort,
                                   SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.BattleServer.UdpPort));

            _hallServerNetwork = new HallServerNetwork(_dispatcher);
            _hallServerNetwork.StartServer(new NetworkPortInfo(
                                               SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.HallRoomServer.ListenPort, 0));

            MyHttpServer.Start(SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.HttpPort);
            if (SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.AllocationServer.Open == 1)
            {
                _hallServerNetwork.ClientConnect(new NetworkPortInfo(
                                                     SingletonManager.Get <ServerFileSystemConfigManager>().BootConfig.AllocationServer.ConnectPort, 0));
            }
            else
            {
                _logger.InfoFormat("Server Configuration: Do Not connect to Allocation Server!");
            }
        }
コード例 #4
0
        public RawSocketServer(IMainApp mainApp
                               , IConfiguration configuration
                               , IPool <IRemoteClient> pool
                               , IRoomManager roomManager)
        {
            if (mainApp == null)
            {
                throw new ArgumentNullException(nameof(mainApp));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            if (pool == null)
            {
                throw new ArgumentNullException(nameof(pool));
            }

            if (roomManager == null)
            {
                throw new ArgumentNullException(nameof(roomManager));
            }

            _mainApp       = mainApp;
            _configuration = configuration;
            _pool          = pool;
            _roomManager   = roomManager;
            _tcpListener   = new TcpListener(_configuration.ListenAdress);
        }
コード例 #5
0
ファイル: RoomsController.cs プロジェクト: taruntomar/rfs
 public RoomsController(IUserManager userManager, IRoomManager roomManager, IBookingManager bookingManager, ILocationManager locationManager)
 {
     _roomManager     = roomManager;
     _bookingManager  = bookingManager;
     _locationManager = locationManager;
     _userManager     = userManager;
 }
コード例 #6
0
 public void Initialize(IRoomManager roomManager, IShamanMessageSender messageSender,
                        string authSecret)
 {
     _roomManager   = roomManager;
     _messageSender = messageSender;
     _authSecret    = authSecret;
 }
コード例 #7
0
ファイル: LoginServer.cs プロジェクト: yangfan111/common
 public LoginServer(RoomEventDispatcher dispatcher, IRoomManager roomManager)
 {
     _dispatcher              = dispatcher;
     _roomManager             = roomManager;
     _networkMonitor          = new PlayerNetworkMonitor(_dispatcher, _roomManager);
     _dispatcher.OnRoomEvent += OnRoomEvent;
 }
コード例 #8
0
        public MmApplication(
            IShamanLogger logger,
            IApplicationConfig config,
            ISerializer serializer,
            ISocketFactory socketFactory,
            IMatchMaker matchMaker,
            IRequestSender requestSender,
            ITaskSchedulerFactory taskSchedulerFactory,
            IPacketSender packetSender,
            IShamanMessageSenderFactory messageSenderFactory,
            IMatchMakerServerInfoProvider serverProvider,
            IRoomManager roomManager, IMatchMakingGroupsManager matchMakingGroupManager, IPlayersManager playersManager, IMmMetrics mmMetrics, IProtectionManager protectionManager) : base(logger, config, serializer,
                                                                                                                                                                                            socketFactory, taskSchedulerFactory, requestSender, mmMetrics, protectionManager)
        {
            _packetSender            = packetSender;
            _messageSenderFactory    = messageSenderFactory;
            _serverProvider          = serverProvider;
            _roomManager             = roomManager;
            _matchMakingGroupManager = matchMakingGroupManager;
            _playersManager          = playersManager;
            _matchMaker = matchMaker;
            _id         = Guid.NewGuid();

            Logger?.Debug($"MmApplication constructor called. Id = {_id}");
        }
コード例 #9
0
 public MatchmakerController(ISerializer serializer, IShamanLogger logger, IRoomManager roomManager, IMatchMakerServerInfoProvider serverInfoProvider)
 {
     _serializer         = serializer;
     _logger             = logger;
     _roomManager        = roomManager;
     _serverInfoProvider = serverInfoProvider;
 }
コード例 #10
0
 public BookingsController(IRoomManager roomMan, ICostumerManager costManager
                           , IBookingManager manager, IBookingViewModel viewModel)
 {
     this.roomManager      = roomMan;
     this.customerManager  = costManager;
     this.bookingManager   = manager;
     this.bookingViewModel = viewModel;
 }
コード例 #11
0
        public Room ApplyCharges()
        {
            IRoomManager manager = this.Create();

            _room.PricePerNight += manager.GetAdittionalCharges();
            _room.Guests        += manager.GetAdittionalGuests();
            return(_room);
        }
コード例 #12
0
ファイル: RoomsController.cs プロジェクト: Vladimir1311/SCBE
 public RoomsController(IRoomManager roomsManager,
                        IRepository userManager,
                        IRoomSecurityManager roomSecyrityManager)
 {
     this.roomsManager        = roomsManager;
     this.repository          = userManager;
     this.roomSecyrityManager = roomSecyrityManager;
 }
コード例 #13
0
 /// <summary>
 /// Creates a new <see cref="CharacterSelectionMessageHandler"/> instance.
 /// </summary>
 /// <param name="muplonenDbContext">The database context.</param>
 /// <param name="roomManager">The room manager.</param>
 /// <param name="logger">Logging.</param>
 public CharacterSelectionMessageHandler(
     MuplonenDbContext muplonenDbContext,
     IRoomManager roomManager,
     ILogger <CharacterSelectionMessageHandler> logger)
 {
     _muplonenDbContext = muplonenDbContext;
     _roomManager       = roomManager;
     _logger            = logger;
 }
コード例 #14
0
 public void Initialize(IMatchMaker matchMaker, IShamanMessageSender packetSender, IRoomManager roomManager, IMatchMakingGroupsManager matchMakingGroupsManager,
                        string authSecret)
 {
     _matchMaker               = matchMaker;
     _messageSender            = packetSender;
     _authSecret               = authSecret;
     _roomManager              = roomManager;
     _matchMakingGroupsManager = matchMakingGroupsManager;
 }
コード例 #15
0
 public AllocateClassRoomController(IAllocateClassRoomManager allocateClassRoomManager, IDepartmentManager departmentManager, ICourseManager courseManager, IRoomManager roomManager, IDayManager dayManager, IMapper mapper)
 {
     _allocateClassRoomManager = allocateClassRoomManager;
     _departmentManager        = departmentManager;
     _courseManager            = courseManager;
     _roomManager = roomManager;
     _dayManager  = dayManager;
     _mapper      = mapper;
 }
コード例 #16
0
 public RobotsManager(Contexts contexts, IRoomManager roomManager)
 {
     _roomManager = roomManager;
     _player      = contexts.player;
     _humanGroup  = _player.GetGroup(PlayerMatcher.AllOf(PlayerMatcher.Network, PlayerMatcher.PlayerInfo)
                                     .NoneOf(PlayerMatcher.Robot));
     _robotGroup =
         _player.GetGroup(PlayerMatcher.AllOf(PlayerMatcher.Network, PlayerMatcher.PlayerInfo,
                                              PlayerMatcher.Robot));
 }
コード例 #17
0
ファイル: GameFSM.cs プロジェクト: will63004/GomokuUnity
        public GameFSM(ISceneManager sceneManager, IUIManager uiManager, IRoomManager roomManager)
        {
            var states = new Dictionary <eGameFSM, GameState>();

            states.Add(eGameFSM.Default, new DefaultGameState(this));
            states.Add(eGameFSM.StartUp, new StartUpGameState(this, sceneManager, uiManager));
            states.Add(eGameFSM.Login, new LoginGameState(this, roomManager));
            states.Add(eGameFSM.PairRoom, new PairRoomState(this, uiManager));
            this.states = states;
        }
コード例 #18
0
 public void Setup()
 {
     _logger               = new ConsoleLogger();
     _serverProvider       = new FakeServerProvider();
     _taskSchedulerFactory = new TaskSchedulerFactory(_logger);
     _requestSender        = new FakeSender();
     _roomApiProvider      = new DefaultRoomApiProvider(_requestSender, _logger);
     _roomManager          = new RoomManager(_serverProvider, _logger, _taskSchedulerFactory, _roomApiProvider);
     _roomManager.Start(5);
 }
コード例 #19
0
 public GameApplication(IShamanLogger logger, IApplicationConfig config, ISerializer serializer,
                        ISocketFactory socketFactory, ITaskSchedulerFactory taskSchedulerFactory, IRequestSender requestSender,
                        IRoomManager roomManager, IPacketSender packetSender, IGameMetrics gameMetrics,
                        IShamanMessageSenderFactory messageSenderFactory, IProtectionManager protectionManager) :
     base(logger, config, serializer, socketFactory, taskSchedulerFactory, requestSender, gameMetrics, protectionManager)
 {
     _roomManager          = roomManager;
     _packetSender         = packetSender;
     _messageSenderFactory = messageSenderFactory;
     Logger.Debug($"GameApplication constructor called");
 }
コード例 #20
0
 public MatchMaker(IHubContext <MasterHub> masterHub, IMasterRepo masterRepo,
                   ISessionRepo sessionRepo,
                   IRoomManager roomManager, IServerLoop serverLoop, ILogger <MatchMaker> logger)
 {
     _masterHub   = masterHub;
     _masterRepo  = masterRepo;
     _sessionRepo = sessionRepo;
     _roomManager = roomManager;
     _serverLoop  = serverLoop;
     _logger      = logger;
 }
コード例 #21
0
 public MasterHub(IMasterRepo masterRepo, ILobbyManager lobbyManager,
                  ISessionRepo sessionRepo, IRoomManager roomManager, IMatchMaker matchMaker,
                  ILogger <MasterHub> logger)
 {
     _masterRepo   = masterRepo;
     _lobbyManager = lobbyManager;
     _sessionRepo  = sessionRepo;
     _roomManager  = roomManager;
     _matchMaker   = matchMaker;
     _logger       = logger;
 }
コード例 #22
0
ファイル: SmartFox.cs プロジェクト: smdx24/CPI-Source-Code
 public void HandleLogout()
 {
     if (lagMonitor != null && lagMonitor.IsRunning)
     {
         lagMonitor.Stop();
     }
     userManager    = new SFSGlobalUserManager(this);
     roomManager    = new SFSRoomManager(this);
     isJoining      = false;
     lastJoinedRoom = null;
     currentZone    = null;
     mySelf         = null;
 }
コード例 #23
0
 public MatchMakingGroupManager(IShamanLogger logger, ITaskSchedulerFactory taskSchedulerFactory,
                                IPlayersManager playersManager, IShamanMessageSender messageSender, IMmMetrics mmMetrics, IRoomManager roomManager,
                                IRoomPropertiesProvider roomPropertiesProvider, IApplicationConfig config)
 {
     _logger = logger;
     _taskSchedulerFactory   = taskSchedulerFactory;
     _playersManager         = playersManager;
     _messageSender          = messageSender;
     _mmMetrics              = mmMetrics;
     _roomManager            = roomManager;
     _roomPropertiesProvider = roomPropertiesProvider;
     _config = config;
 }
コード例 #24
0
        // GET: Rooms
        public ActionResult Index(ReservationSearchModel model)
        {
            _types      = _roomType.RetrieveAllRoomTypes();
            roomManager = new RoomManager();

            model.Rooms = roomManager.RetrieveRoomList();

            int hour = DateTime.Now.Hour;

            ViewBag.Greeting = hour < 12 ? "Good Morning" : "Good Afternoon";
            ViewBag.Types    = _types;
            return(View(model));
        }
コード例 #25
0
ファイル: SmartFox.cs プロジェクト: smdx24/CPI-Source-Code
 private void Reset()
 {
     userManager  = new SFSGlobalUserManager(this);
     roomManager  = new SFSRoomManager(this);
     buddyManager = new SFSBuddyManager(this);
     if (lagMonitor != null)
     {
         lagMonitor.Destroy();
     }
     isJoining      = false;
     currentZone    = null;
     lastJoinedRoom = null;
     sessionToken   = null;
     mySelf         = null;
 }
コード例 #26
0
ファイル: View.cs プロジェクト: Riccon/remote-desktop
 public View(IModel model)
 {
     try
     {
         _model = model;
         _formMain = new FormMain();
         _roomManager = new RoomManager(_formMain);
         _formActions = new FormActions(new EventHandler(this.RoomButtonAction));
         _webcamActive = false;
         _pictureReset = false;
     }
     catch (Exception ex)
     {
         Tools.Instance.Logger.LogError(ex.ToString());
     }
 }
コード例 #27
0
        public GameController(
            IRoomManager roomManager,
            IVerificationService <PlayerVerificationResponseModel> VerificationService,
            IIdentifierGenerator identifierGenerator,
            ILobbyService lobbyService,
            IChatRoomService chatRoomService)
        {
            verificationService = VerificationService;
            RoomManager         = roomManager;
            IdentifierGenerator = identifierGenerator;
            LobbyService        = lobbyService;
            ChatRoomService     = chatRoomService;

            GameFactory = new GameFactory();
            ReadyTimer  = new ReadyTimer();
            Thread timerThread = new Thread(ReadyTimer.StartTimer);

            timerThread.Start();

            Players   = new HashSet <IPlayer>();
            GameTypes = new Dictionary <int, string>();
        }
コード例 #28
0
        public MatchMakingGroup(Dictionary <byte, object> roomProperties,
                                IShamanLogger logger, ITaskSchedulerFactory taskSchedulerFactory, IPlayersManager playersManager,
                                IShamanMessageSender messageSender, IMmMetrics mmMetrics, IRoomManager roomManager)
        {
            Id = Guid.NewGuid();

            _logger             = logger;
            _playersManager     = playersManager;
            _taskScheduler      = taskSchedulerFactory.GetTaskScheduler();
            _matchmakingPlayers = new Queue <MatchMakingPlayer>();
            RoomProperties      = roomProperties;
            _messageSender      = messageSender;
            _mmMetrics          = mmMetrics;
            _roomManager        = roomManager;

            //get properties from dict
            if (!roomProperties.TryGetValue(PropertyCode.RoomProperties.MatchMakingTick, out var tickProperty))
            {
                throw new Exception($"MatchMakingGroup ctr error: there is no MatchMakingTick property");
            }
            if (!roomProperties.TryGetValue(PropertyCode.RoomProperties.TotalPlayersNeeded, out var totalPlayersProperty))
            {
                throw new Exception($"MatchMakingGroup ctr error: there is no TotalPlayersNeeded property");
            }
            if (!roomProperties.TryGetValue(PropertyCode.RoomProperties.MaximumMmTime, out var timeBeforeBotsProperty))
            {
                throw new Exception($"MatchMakingGroup ctr error: there is no MaximumMmTime property");
            }
            if (!roomProperties.TryGetValue(PropertyCode.RoomProperties.MaximumMatchMakingWeight, out var maxMmWeight))
            {
                throw new Exception($"MatchMakingGroup ctr error: there is no MaximumMatchMakingWeight property");
            }

            _matchMakingTickMs  = (int)tickProperty;
            _totalPlayersNeeded = (int)totalPlayersProperty;
            _maximumMmTime      = (int)timeBeforeBotsProperty;
            _maxMmWeight        = (int)maxMmWeight;
        }
コード例 #29
0
        public void Setup()
        {
            _logger = new ConsoleLogger();
            _taskSchedulerFactory = new TaskSchedulerFactory(_logger);
            _playersManager       = new PlayersManager(Mock.Of <IMmMetrics>(), _logger);
            _packetSender         = Mock.Of <IShamanMessageSender>();
            _serverProvider       = new FakeServerProvider();
            _requestSender        = new FakeSender();
            _roomApiProvider      = new DefaultRoomApiProvider(_requestSender, _logger);
            _roomManager          = new RoomManager(_serverProvider, _logger, _taskSchedulerFactory, _roomApiProvider);

            _measures.Add(FakePropertyCodes.PlayerProperties.GameMode, 1);
            _roomProperties.Add(FakePropertyCodes.RoomProperties.MatchMakingTick, 250);
            _roomProperties.Add(FakePropertyCodes.RoomProperties.TotalPlayersNeeded, 3);
            _roomProperties.Add(FakePropertyCodes.RoomProperties.MaximumMmTime, 500);
            _roomProperties.Add(FakePropertyCodes.RoomProperties.MaximumMatchMakingWeight, 1);


            _group = new MatchMakingGroup(_roomProperties, _logger, _taskSchedulerFactory, _playersManager,
                                          _packetSender, Mock.Of <IMmMetrics>(), _roomManager);
            _roomManager.Start(10000);
            _group.Start();
        }
コード例 #30
0
        public void Setup()
        {
            // var config = new MmApplicationConfig("", "127.0.0.1", new List<ushort> {0}, "", 120000, GameProject.DefaultGame,"", 7002, isAuthOn:false);
            var config = new ApplicationConfig
            {
                PublicDomainNameOrAddress = "127.0.0.1",
                ListenPorts = new List <ushort> {
                    0
                },
                IsAuthOn       = false,
                BindToPortHttp = 7002
            };

            _logger = new ConsoleLogger();
            _roomPropertiesProvider = new FakeRoomPropertiesProvider(3, 500, 250, 3);

            _taskSchedulerFactory = new TaskSchedulerFactory(_logger);
            _playersManager       = new PlayersManager(Mock.Of <IMmMetrics>(), _logger);
            _packetSender         = Mock.Of <IShamanMessageSender>();
            _serverProvider       = new FakeServerProvider();
            _requestSender        = new FakeSender();
            _roomApiProvider      = new DefaultRoomApiProvider(_requestSender, _logger);
            _roomManager          = new RoomManager(_serverProvider, _logger, _taskSchedulerFactory, _roomApiProvider);

            _measures.Add(FakePropertyCodes.PlayerProperties.GameMode, 1);

            _playerProperties = new Dictionary <byte, object>
            {
                { FakePropertyCodes.PlayerProperties.GameMode, 1 }
            };

            _matchMakingGroupManager = new MatchMakingGroupManager(_logger, _taskSchedulerFactory, _playersManager,
                                                                   _packetSender, Mock.Of <IMmMetrics>(), _roomManager, _roomPropertiesProvider, config);
            _matchMakingGroupManager.AddMatchMakingGroup(_measures);
            _matchMakingGroupManager.Start(10000);
        }
コード例 #31
0
 public RoomAmenitiesController(IRoomManager rooms, IAmenitiesManager amenities)
 {
     _rooms     = rooms;
     _amenities = amenities;
 }
コード例 #32
0
ファイル: HomeEndpoint.cs プロジェクト: JordanZaerr/ChatRoom
 public HomeEndpoint(IRoomManager roomManager)
 {
     _roomManager = roomManager;
 }