internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController, MultiplayerLevelLoader levelLoader) { this.sessionManager = sessionManager; base.DidActivate(true, false, true); hostViewController.didActivateEvent += OnActivate; }
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); }
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); }
internal void Inject(IMultiplayerSessionManager sessionManager, HostLobbySetupViewController hostViewController) { this.sessionManager = sessionManager; base.DidActivate(true, false, true); }