private (GameLobbyController, Mock <IUserService>, Mock <IGameLobbyService>) TestObjects() { var userService = new Mock <IUserService>(); var gameLobbyService = new Mock <IGameLobbyService>(); var gameLobbyController = new GameLobbyController(gameLobbyService.Object, userService.Object); var claimsUser = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, "1") })); gameLobbyController.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = claimsUser } }; return(gameLobbyController, userService, gameLobbyService); }
////////////////////////////////////////////////////////////////////////////// #region Child controllers protected override void OnControllerStop(Controller controller) { if (controller is MenuController) { MenuController.ExitCode exitCode = (MenuController.ExitCode)controller.exitCode; if (exitCode == MenuController.ExitCode.Quit) { Application.sharedApplication.Stop(); return; } switch (exitCode) { case MenuController.ExitCode.SingleStart: { StartController(new GameLobbyController()); break; } case MenuController.ExitCode.MultiplayerStart: { StartController(new MultiplayerController()); break; } case MenuController.ExitCode.DebugClientStart: { StartController(new DebugMultiplayerController(DebugMultiplayerController.Mode.Client)); break; } case MenuController.ExitCode.DebugServerStart: { StartController(new DebugMultiplayerController(DebugMultiplayerController.Mode.Server)); break; } } } else if (controller is MultiplayerController) { MultiplayerController.ExitCode exitCode = (MultiplayerController.ExitCode)controller.exitCode; if (exitCode == MultiplayerController.ExitCode.Cancel) { StartMainMenuController(); return; } switch (exitCode) { case MultiplayerController.ExitCode.Create: break; case MultiplayerController.ExitCode.Join: break; } } else if (controller is GameController) { StartMainMenuController(); } else if (controller is GameLobbyController) { GameLobbyController.ExitCode exitCode = (GameLobbyController.ExitCode)controller.exitCode; switch (exitCode) { case GameLobbyController.ExitCode.StartGame: { GameLobbyController glc = controller as GameLobbyController; Scheme selectedScheme = glc.GetSelectedScheme(); GameSettings settings = new GameSettings(selectedScheme); settings.inputEntries = glc.CreateInputEntries(); StartController(GameController.Local(settings)); break; } case GameLobbyController.ExitCode.Cancel: { StartMainMenuController(); break; } } } else if (controller is DebugMultiplayerController) { DebugMultiplayerController.ExitCode exitCode = (DebugMultiplayerController.ExitCode)controller.exitCode; switch (exitCode) { case DebugMultiplayerController.ExitCode.Cancel: { StartMainMenuController(); break; } case DebugMultiplayerController.ExitCode.ClientStarted: { ServerInfo info = controller.exitData as ServerInfo; Debug.Assert(info != null); GameSettings settings = new GameSettings(info.scheme); StartController(GameController.Client(settings)); break; } case DebugMultiplayerController.ExitCode.ServerStarted: { ServerInfo info = controller.exitData as ServerInfo; Debug.Assert(info != null); GameSettings settings = new GameSettings(info.scheme); settings.inputEntries = new GameSettings.InputEntry[] { new GameSettings.InputEntry(0, InputMapping.CreatePlayerInput(InputType.Keyboard1)) }; StartController(GameController.Server(settings)); break; } } } }
//private int continueButtonSituation = -1; public void Awake() { PV = GetComponent <PhotonView>(); Instance = this; }