internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController, MultiplayerLevelLoader levelLoader)
        {
            this.sessionManager = sessionManager;
            base.DidActivate(true, false, true);

            hostViewController.didActivateEvent += OnActivate;
        }
示例#2
0
        public override void Start()
        {
            Plugin.Log?.Info("Installing Interface");

            HostLobbySetupViewController hostViewController = Container.Resolve <HostLobbySetupViewController>();

            Container.InstantiateComponent <HostLobbySetupPanel>(hostViewController.gameObject);

            ClientLobbySetupViewController clientViewController = Container.Resolve <ClientLobbySetupViewController>();

            Container.InstantiateComponent <ClientLobbySetupPanel>(clientViewController.gameObject);

            CenterStageScreenController centerScreenController = Container.Resolve <CenterStageScreenController>();

            Container.InstantiateComponent <CenterScreenLoadingPanel>(centerScreenController.gameObject);

            ServerPlayerListController playerListController = Container.Resolve <ServerPlayerListController>();
            GameServerPlayersTableView playersTableView     = playerListController.GetField <GameServerPlayersTableView, ServerPlayerListController>("_gameServerPlayersTableView");
            GameServerPlayerTableCell  playerTableCell      = playersTableView.GetField <GameServerPlayerTableCell, GameServerPlayersTableView>("_gameServerPlayerCellPrefab");
            GameServerPlayerTableCell  newPlayerTableCell   = GameObject.Instantiate(playerTableCell);

            newPlayerTableCell.gameObject.SetActive(false);
            PlayerTableCellStub playerTableCellStub = newPlayerTableCell.gameObject.AddComponent <PlayerTableCellStub>();

            playerTableCellStub.Construct(newPlayerTableCell);
            Destroy(newPlayerTableCell.GetComponent <GameServerPlayerTableCell>());
            playersTableView.SetField <GameServerPlayersTableView, GameServerPlayerTableCell>("_gameServerPlayerCellPrefab", playerTableCellStub);
        }
 /// <summary>
 /// Disables starting of game if not all players have song.
 /// </summary>
 static void Prefix(HostLobbySetupViewController __instance, string playersMissingLevelText, ref Button ____startGameButton)
 {
     if (____startGameButton.interactable)
     {
         __instance.SetStartGameEnabled(playersMissingLevelText == null, HostLobbySetupViewController.CannotStartGameReason.None);
     }
 }
 public static void Postfix(HostLobbySetupViewController __instance, string code)
 {
     if (code == MPState.LastRoomCode)
     {
         return;
     }
     MPState.LastRoomCode = code;
     MPEvents.RaiseRoomCodeChanged(__instance, code);
 }
示例#5
0
        public override void Start()
        {
            Plugin.Log?.Info("Installing Interface");

            HostLobbySetupViewController hostViewController = Container.Resolve <HostLobbySetupViewController>();
            HostLobbySetupPanel          hostSetupPanel     = hostViewController.gameObject.AddComponent <HostLobbySetupPanel>();

            Container.Inject(hostSetupPanel);

            ClientLobbySetupViewController clientViewController = Container.Resolve <ClientLobbySetupViewController>();
            ClientLobbySetupPanel          clientSetupPanel     = clientViewController.gameObject.AddComponent <ClientLobbySetupPanel>();

            Container.Inject(clientSetupPanel);

            CenterStageScreenController centerScreenController = Container.Resolve <CenterStageScreenController>();
            CenterScreenLoadingPanel    loadingPanel           = centerScreenController.gameObject.AddComponent <CenterScreenLoadingPanel>();

            Container.Inject(loadingPanel);
        }
 /// <summary>
 /// Disables starting of game if not all players have song.
 /// </summary>
 static void Prefix(HostLobbySetupViewController __instance, string playersMissingLevelText)
 {
     __instance.SetStartGameEnabled(playersMissingLevelText == null, HostLobbySetupViewController.CannotStartGameReason.None);
 }
示例#7
0
 internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController)
 {
     this.sessionManager = sessionManager;
     base.DidActivate(true, false, true);
 }