public Room(IShamanLogger logger, ITaskSchedulerFactory taskSchedulerFactory, IRoomManager roomManager, IRoomPropertiesContainer roomPropertiesContainer, IRoomControllerFactory roomControllerFactory, IPacketSender packetSender, Guid roomId, IRoomStateUpdater roomStateUpdater) { _logger = logger; _roomId = roomId; _roomStateUpdater = roomStateUpdater; _createdOn = DateTime.UtcNow; _taskScheduler = taskSchedulerFactory.GetTaskScheduler(); _roomPropertiesContainer = roomPropertiesContainer; _packetSender = packetSender; _roomStats = new RoomStats(GetRoomId(), roomPropertiesContainer.GetPlayersCount()); _roomController = roomControllerFactory.GetGameModeController( new RoomContext(this), _taskScheduler, roomPropertiesContainer); _ = _taskScheduler.ScheduleOnInterval(() => { var maxQueueSIze = _packetSender.GetMaxQueueSIze(); _roomStats.AddMaxQueueSize(maxQueueSIze); _roomStats.AddAvgQueueSize(_packetSender.GetAverageQueueSize()); }, 0, 1000, true); _ = _taskScheduler.ScheduleOnInterval(async() => await SendRoomStateUpdate(), 0, 2000, true); }
private void OnJoinedRoom(object sender, IRoomController e) { this.prefabs.RoomLobbyFrame.SetActive(true); this.Manager = new RoomManager(e, this.currentUserId, this.prefabs); this.Manager.DisplayMessageEvent += (_, msg) => this.DisplayMessage(msg); this.Manager.Start(); joined = true; }
private void OnRoomCreated(object sender, IRoomController e) { Log("{0}: Room created", e.ToString()); e.MatchCreatedEvent += OnMatchCreated; e.RoomEndedEvent += OnRoomEnded; e.RoomStartedEvent += OnRoomStarted; e.UserJoinedEvent += OnUserJoinedRoom; e.UserLeftEvent += OnUserLeftRoom; }
public RoomManager(IRoomController controller, UserId currentUserId, GamePrefabs prefabs) { this.prefabs = prefabs; this.currentUserId = currentUserId; this.Controller = controller; this.MatchList = new List <MatchManager>(); //this.prefabs.StartMatchButton.onClick.AddListener(OnStartMatchClicked); Controller.MatchCreatedEvent += OnMatchCreated; Controller.RoomStartedEvent += OnRoomStarted; Controller.RoomEndedEvent += OnRoomEnded; Controller.UserJoinedEvent += OnUserJoined; Controller.UserLeftEvent += OnUserLeft; this.type = GameType.Single; this.prefabs.SetupMatchButton.onClick.AddListener(OnSetupMatchClicked); this.prefabs.ReturnToListButton.onClick.AddListener(OnReturnToListClicked); this.prefabs.CreateMatchButton.onClick.AddListener(OnCreateMatchClicked); //TODO: Move AI management if (controller is LocalRoomController) { this.aiPlayers = 5; this.aiList = new List <UserState>(); if (this.Controller is LocalRoomController Local) { this.currentUser = Local.AddPlayer(this.currentUserId); for (int i = 0; i < aiPlayers; i++) { var user = new UserId(); aiList.Add(Local.AddPlayer(new UserId())); } } for (int i = 0; i < 3; i++) { Controller.CreateMatch(new MatchOptions() { Name = "Match " + i.ToString(), Style = MatchStyle.Rounds, Rounds = 3, TimerLength = 10f, }); } } var existing = this.Controller.GetMatches(); foreach (var match in existing) { this.OnMatchCreated(this, (this.Controller, match)); } }
private void OnRoomCreated(object sender, IRoomController e) { this.roomlist.Join(e.State.Id); e.MatchCreatedEvent += OnMatchCreated; if (create) { e.CreateMatch(new Common.Models.MatchOptions() { Name = "Test match", Rounds = 3, Style = Common.Models.MatchStyle.Rounds, TimerLength = 20, }); } }
public AuthorityRoomDecorator(IRoomController roomController, String role) { this.RoomController = roomController; this.Role = role; AuthorizedUsers = new Dictionary <string, List <string> >(); AuthorizedUsers["AddEquipment"] = new List <string>() { "Director" }; AuthorizedUsers["CheckHospitalizationDurationInRoom"] = new List <string>() { "Director", "Doctor" }; AuthorizedUsers["CheckRoomCodeUnique"] = new List <string>() { "Director" }; AuthorizedUsers["Delete"] = new List <string>() { "Director" }; AuthorizedUsers["Edit"] = new List <string>() { "Director" }; AuthorizedUsers["GetRoomsContainingEquipment"] = new List <string>() { "Director" }; AuthorizedUsers["GetRoomsForHospitalization"] = new List <string>() { "Doctor" }; AuthorizedUsers["Save"] = new List <string>() { "Director" }; AuthorizedUsers["Get"] = new List <string>() { "Director", "Doctor", "Secretary" }; AuthorizedUsers["GetAll"] = new List <string>() { "Director", "Doctor", "Secretary" }; }
public void DestroyModuleGroup() { // Controller.I.OnAppPause -= DestroyModuleGroup; //killing non mb RoomReferences.I = null; CoreGameplay.I = null; RoomUserView.Manager.I = null; RoomSettings.I = null; //killing mb Object.Destroy(GameObject.Find("Room")); // Controller.I.RemoveModuleRpcs(GetType().ToString()); I = null; Destroyed?.Invoke(); }
public RoomUser(IRoomController roomController, IUserController userController) { this.roomController = roomController; this.userController = userController; }
public RoomsController(IRoomController roomController) { _roomController = roomController; }
public RoomView(IRoomController controller) { _controller = controller; }
public GetRoomEntryDataEvent(IRoomController roomController) { _roomController = roomController; }
public OpenFlatConnectionEvent(IRoomController roomController) { _roomController = roomController; }
public RoomHub(IRoomController roomController) { _roomController = roomController; }
public RoomApiController(IRoomController roomController, IHubContext <ChatHub> chatHub) { _roomController = roomController; _chatHub = chatHub; }
public void SetOnGameStateCallback(IRoomController room) { _room = room; }
private void OnRoomEnded(object sender, IRoomController e) { this.DisplayMessage(string.Format("Ended room: '{0}'", e.Name)); }
private void OnRoomStarted(object sender, IRoomController e) { this.DisplayMessage(string.Format("Started room: {0}", e.Name)); }
private RoomController() { I = this; Controller.I.AddRpcContainer(this); }