public ScrollingMessageDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService) : base(gameStateProvider) { _font = Game.Content.Load <SpriteFont>(Constants.FontSize08); _textSplitter = new TextSplitter("", _font) { LineLength = 275 }; BackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 40); var smallButtonSheet = eoDialogButtonService.SmallButtonSheet; _ok = new XNAButton(smallButtonSheet, new Vector2(138, 197), eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Ok), eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Ok)); _ok.OnClick += (sender, e) => Close(XNADialogResult.OK); _ok.SetParentControl(this); _scrollBar = new ScrollBar(new Vector2(320, 66), new Vector2(16, 119), ScrollBarColors.LightOnMed, nativeGraphicsManager); _scrollBar.SetParentControl(this); MessageText = ""; CenterInGameView(); }
public VoteControllerTest() { _gameDataService = Substitute.For <IGameDataService>(); _gameStateProvider = Substitute.For <IGameStateProvider>(); sut = new VoteController(_gameDataService, _gameStateProvider); }
public override GameMove <Move> DoMove(IGameStateProvider stateProvider) { var state = stateProvider.ProvideState <Move>(); var states = state.GameMoves; GameMove <Move> lastState = states[states.Length - 1]; string[][] board = lastState.State.Board; for (int r = 0; r < board.Length; r++) { string[] row = board[r]; for (int c = 0; c < row.Length; c++) { if (string.IsNullOrWhiteSpace(row[c])) { string[][] newBoard = board.Select(s => s.ToArray()).ToArray(); newBoard[r][c] = this.Id; return(new GameMove <Move>(this.Id, new Move { Board = newBoard })); } } } // If we got here then there was no valid move for us to make return(lastState); }
public override GameMove <T> DoMove(IGameStateProvider stateProvider) { string resultsDir = Path.Combine(this.cwd, this.id); Console.WriteLine($"Enure results directory exists: {resultsDir}"); Directory.CreateDirectory(resultsDir); string statePath = Path.Combine(resultsDir, "state.json"); string movePath = Path.Combine(resultsDir, "move.json"); string args = $"{this.id} \"{statePath}\" \"{movePath}\""; Console.WriteLine($"Write state to file: {statePath}"); File.WriteAllText(statePath, JsonConvert.SerializeObject(stateProvider.ProvideState <T>())); Console.WriteLine($"Starting player process: {this.exe} {string.Join(" ", args)}"); Process process = Process.Start(this.exe, args); process.WaitForExit(); Console.WriteLine($"Read new move from file: {movePath}"); GameMove <T> move = JsonConvert.DeserializeObject <GameMove <T> >(File.ReadAllText(movePath)); // TODO: clean up files return(move); }
/// <summary> /// PlayerにIdを登録する /// プレイや生成後にGameManagerがこれを呼び出して初期化する /// </summary> public void InitializePlayer(PlayerId myId, Vector3[] respawnPoints, IGameStateProvider provider) { gameStateProvider = provider; _playerId = myId; _respawnPoints = respawnPoints; _onInitializeAsyncSubject.OnNext(myId); _onInitializeAsyncSubject.OnCompleted(); }
public CreateAccountWarningDialogFactory( INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _eoDialogButtonService = eoDialogButtonService; }
public PlayCardHandler( IGameStateProvider provider, IGameEventStore store, IRealTimeContext realTime) { _provider = provider; _store = store; _realTime = realTime; }
public CreateAccountProgressDialogFactory(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, ILocalizedStringFinder localizedStringFinder, IEODialogButtonService eoDialogButtonService) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _localizedStringFinder = localizedStringFinder; _eoDialogButtonService = eoDialogButtonService; }
public GameLoadingDialogFactory(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IClientWindowSizeProvider clientWindowSizeProvider, ILocalizedStringFinder localizedStringFinder) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _clientWindowSizeProvider = clientWindowSizeProvider; _localizedStringFinder = localizedStringFinder; }
public EOMessageBoxFactory(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService, ILocalizedStringFinder localizedStringFinder) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _eoDialogButtonService = eoDialogButtonService; _localizedStringFinder = localizedStringFinder; }
public TestModeLauncher(IEndlessGameProvider endlessGameProvider, ICharacterRendererFactory characterRendererFactory, IEIFFileProvider eifFileProvider, IGameStateProvider gameStateProvider) { _endlessGameProvider = endlessGameProvider; _characterRendererFactory = characterRendererFactory; _eifFileProvider = eifFileProvider; _gameStateProvider = gameStateProvider; }
public GamesControllerTests() { _dummyGameState = GetDummyGameState(); _dummyPlayer = GetDummyPlayer(); _gameStateProvider = Substitute.For<IGameStateProvider>(); _gameStateProvider.CreateGame(Arg.Any<string>()).ReturnsForAnyArgs(ValidationResult<GameState>.Success.WithData(_dummyGameState)); _gameStateProvider.JoinGame(Arg.Any<Guid>(), Arg.Any<Guid>()).ReturnsForAnyArgs(ValidationResult<GameState>.Success.WithData(_dummyGameState)); _controller = new GamesController(_gameStateProvider); }
public GamesControllerTests() { _dummyGameState = GetDummyGameState(); _dummyPlayer = GetDummyPlayer(); _gameStateProvider = Substitute.For <IGameStateProvider>(); _gameStateProvider.CreateGame(Arg.Any <string>()).ReturnsForAnyArgs(ValidationResult <GameState> .Success.WithData(_dummyGameState)); _gameStateProvider.JoinGame(Arg.Any <Guid>(), Arg.Any <Guid>()).ReturnsForAnyArgs(ValidationResult <GameState> .Success.WithData(_dummyGameState)); _controller = new GamesController(_gameStateProvider); }
public ChangePasswordDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IContentManagerProvider contentManagerProvider, IEOMessageBoxFactory eoMessageBoxFactory, IKeyboardDispatcherProvider keyboardDispatcherProvider, IPlayerInfoProvider playerInfoProvider, IEODialogButtonService dialogButtonService) : base(gameStateProvider) { _eoMessageBoxFactory = eoMessageBoxFactory; _playerInfoProvider = playerInfoProvider; var dispatcher = keyboardDispatcherProvider.Dispatcher; BackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 21); var cursorTexture = contentManagerProvider.Content.Load <Texture2D>("Cursor"); _inputBoxes = new IXNATextBox[4]; for (int i = 0; i < _inputBoxes.Length; ++i) { var tb = new XNATextBox(new Rectangle(198, 60 + i * 30, 137, 19), Constants.FontSize08, caretTexture: cursorTexture) { LeftPadding = 5, DefaultText = " ", MaxChars = i == 0 ? 16 : 12, PasswordBox = i > 1, TextColor = ColorConstants.LightBeigeText }; _inputBoxes[i] = tb; } _clickEventHandler = new TextBoxClickEventHandler(dispatcher, _inputBoxes); _tabEventHandler = new TextBoxTabEventHandler(dispatcher, _inputBoxes); dispatcher.Subscriber = _inputBoxes[0]; _ok = new XNAButton( dialogButtonService.SmallButtonSheet, new Vector2(157, 195), dialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Ok), dialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Ok)); _ok.OnClick += OnButtonPressed; _cancel = new XNAButton( dialogButtonService.SmallButtonSheet, new Vector2(250, 195), dialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Cancel), dialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Cancel)); _cancel.OnClick += (s, e) => Close(XNADialogResult.Cancel); CenterInGameView(); }
public SurvivalGameModeBehaviour( IViewProvider <IInvaderView> invaderViewProvider, IGameNotifications gameNotifications, IGameStateProvider gameStateProvider, ILevelProvider levelProvider, IInvaderConfigurationProvider invaderConfigurationProvider) { _invaderViewProvider = invaderViewProvider; _gameNotifications = gameNotifications; _gameStateProvider = gameStateProvider; _levelProvider = levelProvider; _invaderConfigurationProvider = invaderConfigurationProvider; }
public LevelSetup(IViewProvider <IInvaderView> invaderViewProvider, IViewProvider <IMissileView> missileViewProvider, IViewProvider <IExplosionView> explosionsViewProvider, ILevelProvider levelProvider, IInvaderConfigurationProvider invaderConfigurationProvider, IGameStateProvider gameStateProvider) { _levelProvider = levelProvider; _invaderConfigurationProvider = invaderConfigurationProvider; _gameStateProvider = gameStateProvider; _invaderViewProvider = invaderViewProvider; _missileViewProvider = missileViewProvider; _explosionsViewProvider = explosionsViewProvider; }
public ProgressDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService, string messageText, string captionText) : base(gameStateProvider) { BackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 18); _messageLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = messageText, TextWidth = 254, DrawPosition = new Vector2(18, 57) }; _messageLabel.SetParentControl(this); _captionLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = captionText, DrawPosition = new Vector2(59, 23) }; _captionLabel.SetParentControl(this); _cancelButton = new XNAButton(eoDialogButtonService.SmallButtonSheet, new Vector2(181, 113), eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Cancel), eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Cancel)); _cancelButton.OnClick += DoCancel; _cancelButton.SetParentControl(this); _pbBackgroundTexture = nativeGraphicsManager.TextureFromResource(GFXTypes.PreLoginUI, 19); _pbForegroundTexture = new Texture2D(Game.GraphicsDevice, 1, _pbBackgroundTexture.Height - 2); //foreground texture is just a fill var pbForeFill = new Color[_pbForegroundTexture.Width * _pbForegroundTexture.Height]; for (int i = 0; i < pbForeFill.Length; ++i) { pbForeFill[i] = Color.FromNonPremultiplied(0xb4, 0xdc, 0xe6, 0xff); } _pbForegroundTexture.SetData(pbForeFill); CenterInGameView(); }
public CreateCharacterDialogFactory(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, ICharacterRendererFactory characterRendererFactory, IContentManagerProvider contentManagerProvider, IKeyboardDispatcherProvider keyboardDispatcherProvider, IEOMessageBoxFactory eoMessageBoxFactory, IEODialogButtonService dialogButtonService) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _characterRendererFactory = characterRendererFactory; _contentManagerProvider = contentManagerProvider; _keyboardDispatcherProvider = keyboardDispatcherProvider; _eoMessageBoxFactory = eoMessageBoxFactory; _dialogButtonService = dialogButtonService; }
public CarAgent(Model model, float modelRotate, float width, float height, bool opposite, GameObjectType type, IGameStateProvider gameStateProvider, IControlStrategy drivingStrategy) : base(model, true) { _gameStateProvider = gameStateProvider; Width = width; HardCodedHeight = height; ModelRotate = modelRotate; OppositeDirection = opposite; if (drivingStrategy != null) { _strategy = drivingStrategy; _strategy.GameObject = this; } Type = type; Id = Guid.NewGuid().ToString(); }
public ChangePasswordDialogFactory(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IContentManagerProvider contentManagerProvider, IEOMessageBoxFactory eoMessageBoxFactory, IKeyboardDispatcherProvider keyboardDispatcherProvider, IPlayerInfoProvider playerInfoProvider, IEODialogButtonService eoDialogButtonService) { _nativeGraphicsManager = nativeGraphicsManager; _gameStateProvider = gameStateProvider; _contentManagerProvider = contentManagerProvider; _eoMessageBoxFactory = eoMessageBoxFactory; _keyboardDispatcherProvider = keyboardDispatcherProvider; _playerInfoProvider = playerInfoProvider; _eoDialogButtonService = eoDialogButtonService; }
public AgentFactory(IGameStateProvider stateProvider) { _gameStateProvider = stateProvider; _agentCreators.Add(CreateBarrier); _agentCreators.Add(CreateVan); _agentCreators.Add(CreateBus); _agentCreators.Add(CreatePeugeot); _agentCreators.Add(CreatePride); _agentCreators.Add(CreateBusStop); _agentCreators.Add(CreateSedan); _agentCreators.Add(CreateTaxi); _agentCreators.Add(CreatePolice); _agentCreators.Add(CreatePickup); _agentCreators.Add(CreateCabrio); _agentCreators.Add(CreateAmbulance); }
public CharacterRendererFactory(IEndlessGameProvider gameProvider, IRenderTargetFactory renderTargetFactory, ICharacterProvider characterProvider, IRenderOffsetCalculator renderOffsetCalculator, ICharacterPropertyRendererBuilder characterPropertyRendererBuilder, ICharacterTextures characterTextures, ICharacterSpriteCalculator characterSpriteCalculator, IGameStateProvider gameStateProvider) { _gameProvider = gameProvider; _renderTargetFactory = renderTargetFactory; _characterProvider = characterProvider; _renderOffsetCalculator = renderOffsetCalculator; _characterPropertyRendererBuilder = characterPropertyRendererBuilder; _characterTextures = characterTextures; _characterSpriteCalculator = characterSpriteCalculator; _gameStateProvider = gameStateProvider; }
public CharacterRenderer(Game game, IRenderTargetFactory renderTargetFactory, ICharacterProvider characterProvider, IRenderOffsetCalculator renderOffsetCalculator, ICharacterPropertyRendererBuilder characterPropertyRendererBuilder, ICharacterTextures characterTextures, ICharacterSpriteCalculator characterSpriteCalculator, ICharacterRenderProperties renderProperties, IGameStateProvider gameStateProvider) : base(game) { _renderTargetFactory = renderTargetFactory; _characterProvider = characterProvider; _renderOffsetCalculator = renderOffsetCalculator; _characterPropertyRendererBuilder = characterPropertyRendererBuilder; _characterTextures = characterTextures; _characterSpriteCalculator = characterSpriteCalculator; RenderProperties = renderProperties; _gameStateProvider = gameStateProvider; }
//todo: usage of this should eventually be refactored out if possible protected void CenterAndFixDrawOrder(IGraphicsDeviceProvider graphicsDeviceProvider, IGameStateProvider gameStateProvider, bool shouldCenter = true) { if (shouldCenter) { Center(graphicsDeviceProvider.GraphicsDevice); if (gameStateProvider.CurrentState == GameStates.PlayingTheGame) { DrawLocation = new Vector2(DrawLocation.X, (330 - DrawArea.Height) / 2f); } } _fixDrawOrder(); DrawOrder += 100; Dialogs.Push(this); Game.Components.Add(this); }
public GameLoadingDialog(INativeGraphicsManager nativeGraphicsManager, IGameStateProvider gameStateProvider, IClientWindowSizeProvider clientWindowSizeProvider, ILocalizedStringFinder localizedStringFinder) : base(gameStateProvider) { _localizedStringFinder = localizedStringFinder; _backgroundSprite = nativeGraphicsManager.TextureFromResource(GFXTypes.PostLoginUI, 33); DrawPosition = new Vector2(clientWindowSizeProvider.Width - _backgroundSprite.Width / 4 - 10, clientWindowSizeProvider.Height - _backgroundSprite.Height - 10); SetSize(_backgroundSprite.Width / 4, _backgroundSprite.Height); _bgSrcIndex = 0; _lastBackgroundUpdate = DateTime.Now; _caption = new XNALabel(Constants.FontSize10) { AutoSize = true, Text = _localizedStringFinder.GetString(EOResourceID.LOADING_GAME_PLEASE_WAIT), ForeColor = ColorConstants.LightYellowText, DrawPosition = new Vector2(12, 9) }; _caption.SetParentControl(this); var gen = new Random(); var messageTextID = (EOResourceID)gen.Next((int)EOResourceID.LOADING_GAME_HINT_FIRST, (int)EOResourceID.LOADING_GAME_HINT_LAST); var localizedMessage = _localizedStringFinder.GetString(messageTextID); _message = new XNALabel(Constants.FontSize08) { AutoSize = true, TextWidth = 175, ForeColor = ColorConstants.MediumGrayText, Text = localizedMessage, DrawPosition = new Vector2(18, 61) }; _message.SetParentControl(this); }
public GameFlow( IGameStateProvider gameStateProvider, IGameNotifications gameNotifications, IGameModeBehaviour gameModeBehaviour, IGameModeConfigurationProvider gameModeConfigurationProvider, IInputController inputController, IUiViewProvider uiViewProvider, ILevelSetup levelSetup, ILevelBehaviour levelBehaviour, IPlayerBehaviour playerBehaviour, IAddScore addScore) { _gameStateProvider = gameStateProvider; _gameNotifications = gameNotifications; _gameModeBehaviour = gameModeBehaviour; _gameModeConfigurationProvider = gameModeConfigurationProvider; _inputController = inputController; _uiViewProvider = uiViewProvider; _levelSetup = levelSetup; _levelBehaviour = levelBehaviour; _playerBehaviour = playerBehaviour; _addScore = addScore; }
public override GameMove <Move> DoMove(IGameStateProvider stateProvider) { var state = stateProvider.ProvideState <Move>(); var states = state.GameMoves; GameMove <Move> lastState = states[states.Length - 1]; string[][] board = lastState.State.Board; this.PrintBoard(board); int chosenColumn = -1; int chosenRow = -1; do { Console.WriteLine("Choose where to place an X by selecting one of the available numbers from 1-9"); string rawChoice = Console.ReadLine(); if (!Int32.TryParse(rawChoice, out int parsedChoice)) { continue; } int choice = parsedChoice - 1; chosenRow = choice / board.Length; chosenColumn = choice % board.Length; } while(!ValidateChoice(board, chosenRow, chosenColumn)); string[][] newBoard = board.Select(s => s.ToArray()).ToArray(); newBoard[chosenRow][chosenColumn] = this.Id; return(new GameMove <Move>(this.Id, new Move { Board = newBoard })); }
public GamesController(IGameStateProvider prov, IPlayersProvider playersProvider) { _gameStateProvider = prov; _playersProvider = playersProvider; }
public EOMessageBox(INativeGraphicsManager graphicsManager, IGameStateProvider gameStateProvider, IEODialogButtonService eoDialogButtonService, string message, string caption = "", EOMessageBoxStyle style = EOMessageBoxStyle.SmallDialogSmallHeader, EODialogButtons whichButtons = EODialogButtons.Ok) : base(gameStateProvider) { var useSmallHeader = style != EOMessageBoxStyle.SmallDialogLargeHeader; int graphic; switch (style) { case EOMessageBoxStyle.SmallDialogLargeHeader: graphic = 18; break; case EOMessageBoxStyle.SmallDialogSmallHeader: graphic = 23; break; case EOMessageBoxStyle.LargeDialogSmallHeader: graphic = 25; break; default: throw new ArgumentOutOfRangeException(nameof(style), "Unrecognized dialog style!"); } BackgroundTexture = graphicsManager.TextureFromResource(GFXTypes.PreLoginUI, graphic); _messageLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = message, TextWidth = 254, DrawPosition = new Vector2(18, useSmallHeader ? 40 : 57) }; _messageLabel.SetParentControl(this); _captionLabel = new XNALabel(Constants.FontSize10) { AutoSize = true, ForeColor = ColorConstants.LightYellowText, Text = caption, TextWidth = 254, DrawPosition = useSmallHeader ? new Vector2(18, 12) : new Vector2(59, 23) }; _captionLabel.SetParentControl(this); var smallButtonSheet = eoDialogButtonService.SmallButtonSheet; var okOut = eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Ok); var okOver = eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Ok); var cancelOut = eoDialogButtonService.GetSmallDialogButtonOutSource(SmallButton.Cancel); var cancelOver = eoDialogButtonService.GetSmallDialogButtonOverSource(SmallButton.Cancel); switch (whichButtons) { case EODialogButtons.Ok: _ok = new XNAButton(smallButtonSheet, new Vector2(181, 113), okOut, okOver); _ok.OnClick += (sender, e) => Close(XNADialogResult.OK); _ok.SetParentControl(this); break; case EODialogButtons.Cancel: _cancel = new XNAButton(smallButtonSheet, new Vector2(181, 113), cancelOut, cancelOver); _cancel.OnClick += (sender, e) => Close(XNADialogResult.Cancel); _cancel.SetParentControl(this); break; case EODialogButtons.OkCancel: //implement this more fully when it is needed //update draw location of ok button to be on left? _ok = new XNAButton(smallButtonSheet, new Vector2(89, 113), okOut, okOver); _ok.OnClick += (sender, e) => Close(XNADialogResult.OK); _ok.SetParentControl(this); _cancel = new XNAButton(smallButtonSheet, new Vector2(181, 113), cancelOut, cancelOver); _cancel.OnClick += (s, e) => Close(XNADialogResult.Cancel); _cancel.SetParentControl(this); break; } if (useSmallHeader) { if (_ok != null) { _ok.DrawPosition = new Vector2(_ok.DrawPosition.X, style == EOMessageBoxStyle.SmallDialogSmallHeader ? 82 : 148); } if (_cancel != null) { _cancel.DrawPosition = new Vector2(_cancel.DrawPosition.X, style == EOMessageBoxStyle.SmallDialogSmallHeader ? 82 : 148); } } CenterInGameView(); }
public KeepSafetyDistance(float desiredSpeed, IGameStateProvider gameStateProvider) { _desiredSpeed = desiredSpeed; _gameStateProvider = gameStateProvider; }
public virtual GameMove <T> DoMove(IGameStateProvider gameProvider) { return(null); }
public GamesController(IConfiguration configuration, IGameStateProvider gameStateProvider) { this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.gameStateProvider = gameStateProvider ?? throw new ArgumentNullException(nameof(gameStateProvider)); }
public GamesController(IGameStateProvider prov) { _gameStateProvider = prov; }