public MatchLobbyController(MatchLobbyAdapter LobbyAdapter, MatchLobbyScreen LobbyScreen)
 {
     _LobbyAdapter = LobbyAdapter;
     _LobbyScreen  = LobbyScreen;
     _LobbyScreen.OnScenarioSelected          += HandleScenarioChanged;
     _LobbyScreen.OnArmyConfigurationSelected += HandlePlayerArmyChanged;
     _LobbyScreen.OnPlayerReadyStateChanged   += HandlePlayerReadyStateChanged;
     _LobbyScreen.OnLaunched += HandleLaunched;
 }
Ejemplo n.º 2
0
        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);
        }