コード例 #1
0
        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();
        }
コード例 #2
0
        public VoteControllerTest()
        {
            _gameDataService   = Substitute.For <IGameDataService>();
            _gameStateProvider = Substitute.For <IGameStateProvider>();

            sut = new VoteController(_gameDataService, _gameStateProvider);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
ファイル: PlayerProxy.cs プロジェクト: hoovercj/code-compete
        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);
        }
コード例 #5
0
 /// <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();
 }
コード例 #6
0
 public CreateAccountWarningDialogFactory(
     INativeGraphicsManager nativeGraphicsManager,
     IGameStateProvider gameStateProvider,
     IEODialogButtonService eoDialogButtonService)
 {
     _nativeGraphicsManager = nativeGraphicsManager;
     _gameStateProvider     = gameStateProvider;
     _eoDialogButtonService = eoDialogButtonService;
 }
コード例 #7
0
 public PlayCardHandler(
     IGameStateProvider provider,
     IGameEventStore store,
     IRealTimeContext realTime)
 {
     _provider = provider;
     _store    = store;
     _realTime = realTime;
 }
コード例 #8
0
 public CreateAccountProgressDialogFactory(INativeGraphicsManager nativeGraphicsManager,
                                           IGameStateProvider gameStateProvider,
                                           ILocalizedStringFinder localizedStringFinder,
                                           IEODialogButtonService eoDialogButtonService)
 {
     _nativeGraphicsManager = nativeGraphicsManager;
     _gameStateProvider     = gameStateProvider;
     _localizedStringFinder = localizedStringFinder;
     _eoDialogButtonService = eoDialogButtonService;
 }
コード例 #9
0
 public GameLoadingDialogFactory(INativeGraphicsManager nativeGraphicsManager,
                                 IGameStateProvider gameStateProvider,
                                 IClientWindowSizeProvider clientWindowSizeProvider,
                                 ILocalizedStringFinder localizedStringFinder)
 {
     _nativeGraphicsManager    = nativeGraphicsManager;
     _gameStateProvider        = gameStateProvider;
     _clientWindowSizeProvider = clientWindowSizeProvider;
     _localizedStringFinder    = localizedStringFinder;
 }
コード例 #10
0
 public EOMessageBoxFactory(INativeGraphicsManager nativeGraphicsManager,
                            IGameStateProvider gameStateProvider,
                            IEODialogButtonService eoDialogButtonService,
                            ILocalizedStringFinder localizedStringFinder)
 {
     _nativeGraphicsManager = nativeGraphicsManager;
     _gameStateProvider     = gameStateProvider;
     _eoDialogButtonService = eoDialogButtonService;
     _localizedStringFinder = localizedStringFinder;
 }
コード例 #11
0
 public TestModeLauncher(IEndlessGameProvider endlessGameProvider,
                         ICharacterRendererFactory characterRendererFactory,
                         IEIFFileProvider eifFileProvider,
                         IGameStateProvider gameStateProvider)
 {
     _endlessGameProvider = endlessGameProvider;
     _characterRendererFactory = characterRendererFactory;
     _eifFileProvider = eifFileProvider;
     _gameStateProvider = gameStateProvider;
 }
コード例 #12
0
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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();
        }
コード例 #15
0
 public SurvivalGameModeBehaviour(
     IViewProvider <IInvaderView> invaderViewProvider,
     IGameNotifications gameNotifications,
     IGameStateProvider gameStateProvider,
     ILevelProvider levelProvider,
     IInvaderConfigurationProvider invaderConfigurationProvider)
 {
     _invaderViewProvider          = invaderViewProvider;
     _gameNotifications            = gameNotifications;
     _gameStateProvider            = gameStateProvider;
     _levelProvider                = levelProvider;
     _invaderConfigurationProvider = invaderConfigurationProvider;
 }
コード例 #16
0
 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;
 }
コード例 #17
0
        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();
        }
コード例 #18
0
 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;
 }
コード例 #19
0
 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();
 }
コード例 #20
0
 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;
 }
コード例 #21
0
ファイル: AgentFactory.cs プロジェクト: petyusa/Autonomous
        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);
        }
コード例 #22
0
 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;
 }
コード例 #23
0
 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;
 }
コード例 #24
0
        //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);
        }
コード例 #25
0
        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);
        }
コード例 #26
0
 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;
 }
コード例 #27
0
        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
            }));
        }
コード例 #28
0
 public GamesController(IGameStateProvider prov, IPlayersProvider playersProvider)
 {
     _gameStateProvider = prov;
     _playersProvider = playersProvider;
 }
コード例 #29
0
        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();
        }
コード例 #30
0
 public KeepSafetyDistance(float desiredSpeed, IGameStateProvider gameStateProvider)
 {
     _desiredSpeed      = desiredSpeed;
     _gameStateProvider = gameStateProvider;
 }
コード例 #31
0
ファイル: Interfaces.cs プロジェクト: hoovercj/code-compete
 public virtual GameMove <T> DoMove(IGameStateProvider gameProvider)
 {
     return(null);
 }
コード例 #32
0
 public GamesController(IConfiguration configuration, IGameStateProvider gameStateProvider)
 {
     this.configuration     = configuration ?? throw new ArgumentNullException(nameof(configuration));
     this.gameStateProvider = gameStateProvider ?? throw new ArgumentNullException(nameof(gameStateProvider));
 }
コード例 #33
0
ファイル: GamesController.cs プロジェクト: insukimbap/Samurai
 public GamesController(IGameStateProvider prov)
 {
     _gameStateProvider = prov;
 }