Esempio n. 1
0
    void InitLevel(string[] rows)
    {
        GameFieldModel fieldModel  = new GameFieldModel(rows);
        PlayerModel    playerModel = new PlayerModel(new FieldBounds(fieldModel.Width, fieldModel.Height),
                                                     TileUtility.GetTiles(TileType.Body, fieldModel.Tiles));

        GameFieldView fieldView  = gameField.GetComponent <GameFieldView> ();
        Player        playerView = player.GetComponent <Player> ();

        PlayerController    playerController    = new PlayerController(playerModel, playerView);
        GameFieldController gameFieldController = new GameFieldController(fieldModel, fieldView);

        LevelModel levelModel = new LevelModel();
        LevelView  levelView  = GetComponent <LevelView> ();

        StepTimer           tickTimer       = GetComponent <StepTimer> ();
        StepTimerController timerController = new StepTimerController(levelModel, playerView, tickTimer);

        StatusPanelView       statusView            = statusPanel.GetComponent <StatusPanelView> ();
        StatusPanelController statusPanelController = new StatusPanelController(levelModel, statusView);

        SpawnController spawnController = new SpawnController(fieldModel, playerModel);

        LevelController levelController = new LevelController(playerModel, fieldModel, levelModel, levelView, tickTimer);
    }
    public GameFieldController(GameFieldModel model, GameFieldView view)
    {
        this.model = model;
        this.view  = view;

        InitGameField();
    }
Esempio n. 3
0
 public IndexModel()
 {
     Game                = new GameFieldModel();
     SizeField           = new Size(300, 600);
     Game.timer          = new Timer(Interval);
     Game.timer.Elapsed += Timer_Elapsed;
 }
Esempio n. 4
0
 public GameFieldViewModel(Game game, GameStateInfo gameStateInfo, INavigation navigation)
 {
     GameFieldModel = new GameFieldModel(game, gameStateInfo);
     Navigation     = navigation;
     GoBackCommand  = new Command(GoBack);
     GameFieldModel.PropertyChanged += (obj, args) => {
         if (args.PropertyName == "NumTurns")
         {
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("NumTurns"));
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("GameScoreLabelText"));
         }
         else
         if (args.PropertyName == "TurnState")
         {
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("InfoTurnLabelText"));
         }
         else
         if (args.PropertyName == "IsFinished")
         {
             if (IsFinished)
             {
                 FinishGame();
             }
             PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsFinished"));
         }
     };
 }
Esempio n. 5
0
    public SpawnController(GameFieldModel fieldModel, PlayerModel playerModel)
    {
        this.fieldModel = fieldModel;
        this.fieldModel.TilesChanged     += OnTilesChanged;
        this.playerModel                  = playerModel;
        this.playerModel.PositionChanged += OnPlayerPositionChanged;

        wasEaten = true;
    }
Esempio n. 6
0
    public GamePlayModel(ILanguageWordsChecker wordsChecker)
    {
        _wordsChecker = wordsChecker;

        _gameField = new GameFieldModel();

        _gameField.OnMouseEntered += (mc) => TryRegister(mc);
        _gameField.OnMouseLeft    += (mc) => { };

        _currentWordFieldCells = new List <FieldCellModel>();
    }
Esempio n. 7
0
    public LevelController(PlayerModel playerModel, GameFieldModel gameFieldModel, LevelModel levelModel, LevelView levelView, StepTimer timer)
    {
        this.playerModel    = playerModel;
        this.gameFieldModel = gameFieldModel;
        this.levelModel     = levelModel;
        this.levelView      = levelView;

        this.timer = timer;

        InitLevelData();
    }
Esempio n. 8
0
 public FieldController(GameConfigModel configModel,
                        GameFieldModel fieldModel,
                        IFieldDimensionModel fieldDimensionModel,
                        IGameObjectFactory gameObjectFactory,
                        IMessageSender messageSender,
                        EntityMapperService entityMapperService)
 {
     ConfigModel         = configModel;
     FieldModel          = fieldModel;
     FieldDimensionModel = fieldDimensionModel;
     GameObjectFactory   = gameObjectFactory;
     MessageSender       = messageSender;
     EntityMapperService = entityMapperService;
 }
Esempio n. 9
0
 public BonusController(GameFieldModel fieldModel,
                        GameConfigModel configModel,
                        IMessageSender messageSender,
                        IFieldDimensionModel fieldDimensionModel,
                        IFieldController fieldController,
                        EntityMapperService mapperService)
 {
     FieldModel          = fieldModel;
     ConfigModel         = configModel;
     MessageSender       = messageSender;
     FieldDimensionModel = fieldDimensionModel;
     FieldController     = fieldController;
     MapperService       = mapperService;
 }
Esempio n. 10
0
        private GameFieldModel[,] CreateGameFieldArray(int columnsCount, int rowsCount)
        {
            GameFieldModel[,] gameFieldModelArray = new GameFieldModel[columnsCount, rowsCount];

            for (int y = 0; y < rowsCount; ++y)
            {
                for (int x = 0; x < columnsCount; ++x)
                {
                    gameFieldModelArray[x, y] = new GameFieldModel();
                    gameFieldModelArray[x, y].SetField(randomizer.Next(11).ToString(), randomizer.Next(3));
                    Grid.SetColumn(gameFieldModelArray[x, y].Field, x);
                    Grid.SetRow(gameFieldModelArray[x, y].Field, y);
                    InitializeSpecifiedGameField(gameFieldModelArray[x, y].Field, y * columnsCount + x);

                    Buttons.Add(gameFieldModelArray[x, y].Field);
                }
            }

            return(gameFieldModelArray);
        }
    public override void Execute()
    {
        GameObject    shape      = evt.data as GameObject;
        GameFieldView fieldView  = Object.FindObjectOfType <GameFieldView>();
        BoxCollider2D fieldBox   = fieldView.GetComponent <BoxCollider2D>();
        float         fieldSizeX = fieldBox.size.x * ScreenScaleFactor.X;
        float         fieldSizeY = fieldBox.size.y * ScreenScaleFactor.Y;

        var blockSprite = shape.transform.GetComponentInChildren <SpriteRenderer>();

        float shapeSizeX = blockSprite.size.x * ScreenScaleFactor.X * blockSprite.transform.localScale.x;
        float shapeSizeY = blockSprite.size.y * ScreenScaleFactor.Y * blockSprite.transform.localScale.y;

        int gridSizeX = (int)(fieldSizeX / shapeSizeX);
        int gridSizeY = (int)(fieldSizeY / shapeSizeY);

        shapeSizeX = fieldSizeX / gridSizeX;
        shapeSizeY = fieldSizeY / gridSizeY;

        GameFieldModel.Initialization(fieldSizeX, fieldSizeY, fieldBox.offset.y, shapeSizeX, shapeSizeY, new BlockStruct[gridSizeX, gridSizeY]);
    }
 public SinglePlayerDiceGameLogic(GameFieldModel gameFiled)
 {
     this.GameField = gameFiled;
 }