public VoiceChatPacketRouter(IMultiplayerSessionManager sessionManager, VoipSender voipSender, ICodecFactory codecFactory, DiContainer container) { _container = container; SessionManager = sessionManager; //ConnectionManager = connectionManager; //VoipReceiver = voipReceiver; CodecFactory = codecFactory; VoipSender = voipSender; #if DEBUG dummyReceiver = container.InstantiateComponentOnNewGameObject <VoipReceiver>(); var settings = new Codecs.Opus.OpusSettings() { SampleRate = 48000, Channels = 1 }; dummyReceiver.Initialize(sessionManager.localPlayer, codecFactory.CreateDecoder(Codecs.Opus.OpusDefaults.CodecId, settings)); voipSender.OnAudioGenerated += (s, e) => { dummyReceiver.HandleAudioDataReceived(s, e); }; #endif AddEvents(); sessionManager.RegisterSerializer((MultiplayerSessionManager.MessageType) 128, _mainSerializer); _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.VoiceData, _voipDataSerializer); _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.InfoRequest, _voipMetadataSerializer); _mainSerializer.RegisterSubSerializer((byte)VoipPacketType.VoiceMetadata, _voipMetadataSerializer); _voipDataSerializer.RegisterCallback((byte)VoipPacketType.VoiceData, HandleVoipDataPacket, VoipDataPacket.Obtain); Plugin.Log?.Debug($"VoiceChatPacketRouter Constructed."); foreach (IConnectedPlayer?player in sessionManager.connectedPlayers) { if (!player.isMe) { CreatePlayerVoipReceiver(player.userId, player); } } //if (sessionManager.isConnected) IsConnected = true; }
internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController, MultiplayerLevelLoader levelLoader) { this.sessionManager = sessionManager; base.DidActivate(true, false, true); hostViewController.didActivateEvent += OnActivate; }
internal void Inject(IMultiplayerSessionManager sessionManager, ClientLobbySetupViewController clientViewController) { this.sessionManager = sessionManager; base.DidActivate(true, false, true); clientViewController.didActivateEvent += OnActivate; }
internal CustomAvatarManager(PacketManager packetManager, PlayerAvatarManager avatarManager, IMultiplayerSessionManager sessionManager, IAvatarProvider <AvatarPrefab> avatarProvider) { _packetManager = packetManager; _avatarManager = avatarManager; _sessionManager = sessionManager; _avatarProvider = avatarProvider; }
internal LobbyEnvironmentManager(PacketManager packetManager, IMultiplayerSessionManager sessionManager, LobbyPlaceManager placeManager, ExtendedPlayerManager playerManager) { _packetManager = packetManager; _sessionManager = sessionManager; _placeManager = placeManager; _playerManager = playerManager; }
internal CustomAvatarManager(PacketManager packetManager, FloorController floorController, PlayerAvatarManager avatarManager, IMultiplayerSessionManager sessionManager, IAvatarProvider <LoadedAvatar> avatarProvider) { _packetManager = packetManager; _avatarManager = avatarManager; _sessionManager = sessionManager; _avatarProvider = avatarProvider; _floorController = floorController; }
internal void Inject(IMultiplayerSessionManager sessionManager, ILobbyGameStateController gameStateController, CenterStageScreenController screenController) { this.sessionManager = sessionManager; this.gameStateController = gameStateController; this.screenController = screenController; base.DidActivate(true, false, true); loadIndicator.color = Color.white; }
internal LobbyEnvironmentManager(IMultiplayerSessionManager sessionManager, ILobbyStateDataModel lobbyStateDataModel, MenuEnvironmentManager menuEnvironmentManager, MultiplayerLobbyAvatarPlaceManager placeManager, MultiplayerLobbyCenterStageManager stageManager, ExtendedPlayerManager playerManager) { _sessionManager = sessionManager; _lobbyStateDataModel = lobbyStateDataModel; _menuEnvironmentManager = menuEnvironmentManager; _placeManager = placeManager; _stageManager = stageManager; _playerManager = playerManager; }
public void Dispose() { Plugin.Log?.Debug($"VoiceChatPacketRouter Disposed."); RemoveEvents(); SessionManager = null !; //ConnectionManager = null!; VoipSender = null !; PlayerReceivers.Clear(); }
public SessionTracker(IMultiplayerSessionManager sessionManager, DiContainer container) { _sessionManager = sessionManager; _sessionManager.playerConnectedEvent += OnPlayerConnected; _sessionManager.playerDisconnectedEvent += OnPlayerDisconnected; _sessionManager.disconnectedEvent += OnDisconnected; _sessionManager.connectedEvent += OnConnected; _container = container; }
internal SessionManager(IMultiplayerSessionManager sessionManager) { _sessionManager = sessionManager; }
internal GameStateControllerStub(IMultiplayerSessionManager sessionManager, PacketManager packetManager, ExtendedPlayerManager extendedPlayerManager) { _sessionManager = sessionManager; _packetManager = packetManager; _extendedPlayerManager = extendedPlayerManager; }
internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController) { this.sessionManager = sessionManager; base.DidActivate(true, false, true); }
internal LobbyPlaceManager(IMultiplayerSessionManager sessionManager, ILobbyStateDataModel lobbyStateDataModel, MultiplayerLobbyAvatarPlaceManager placeManager) { _sessionManager = sessionManager; _lobbyStateDataModel = lobbyStateDataModel; _placeManager = placeManager; }
internal PacketManager(IMultiplayerSessionManager sessionManager) { _sessionManager = (sessionManager as MultiplayerSessionManager) !; }