public MatchLobbyController(MatchLobbyAdapter LobbyAdapter, MatchLobbyScreen LobbyScreen) { _LobbyAdapter = LobbyAdapter; _LobbyScreen = LobbyScreen; _LobbyScreen.OnScenarioSelected += HandleScenarioChanged; _LobbyScreen.OnArmyConfigurationSelected += HandlePlayerArmyChanged; _LobbyScreen.OnPlayerReadyStateChanged += HandlePlayerReadyStateChanged; _LobbyScreen.OnLaunched += HandleLaunched; }
public override Pod SetupState(ProgramContext ProgramContext, ProgramStateContext ProgramStateContext) { _Context = ProgramStateContext; var context = (MatchLobbyContext)_Context; var screen = new MatchLobbyScreen( ProgramContext.ScreenResolution, context.IsHost, context.Lobby, context.Chat, GameData.Player, GameData.Scenarios); _Controller = new MatchLobbyController(context.MakeMatchLobbyAdapter(), screen); _ChatController = new ChatController(context.MakeChatAdapter(), screen.ChatView, GameData.Player); context.Lobby.OnLaunched += _LaunchBuffer.Hook <ValuedEventArgs <Scenario> >(HandleLaunch).Invoke; screen.OnPulse += HandlePulse; screen.OnMainMenuButtonClicked += HandleBack; return(screen); }