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();
    }
Exemple #3
0
        public MainForm(GameField gameField, Size sizeField, GameFieldView gameFieldView)
        {
            InitializeComponent();

            GameField        = gameField;
            GameFieldView    = gameFieldView;
            pictureBox1.Size = gameField.SizeField;

            GameField.Timer.Tick += (s, e) => UpdateView();
        }
Exemple #4
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            GameField     gameField     = new GameField(new Size(700, 700), 400, 5, 5);
            GameFieldView gameFieldView = new GameFieldView(gameField, gameField.SizeField);

            PackmanController packmanController = new PackmanController(gameField, gameFieldView);

            Application.Run(gameFieldView.MainForm);
        }
    public override void OnRegister()
    {
        dispatcher.AddListener(GameFieldEvent.CREATED_SHAPE, OnShapeCreated);
        dispatcher.AddListener(GameFieldEvent.LANDED_SHAPE, OnShapeLanded);
        dispatcher.AddListener(GameFieldEvent.REMOVE_BLOCKS, RemoveBlocksHandler);

        for (var i = 0; i < GameFieldView.SpawnPoints.Length; i++)
        {
            dispatcher.Dispatch(GameFieldEvent.CREATE_SHAPE);
        }

        GameFieldView.Initialization();
    }
        /// <summary>
        /// Конструктор
        /// </summary>
        /// <param name="parPlayers">Игроки</param>
        /// <param name="parPlatform">Платформа</param>
        public GameFieldController(List <Player> parPlayers, Platform parPlatform)
        {
            _game             = new GameField(VERTICAL_SIZE, HORIZONTAL_SIZE, parPlayers);
            _buttonController = new ButtonController(parPlatform, _game.Button);
            View = new GameFieldView(parPlatform, _game, (ButtonView)_buttonController.View);
            _game.Initialize();
            _buttonController.Initialize();
            _game.Button.Click += OnButtonClick;

            parPlatform.EscDown += OnEscDown;
            parPlatform.Move    += OnMove;
            parPlatform.Click   += OnClick;
        }
        public PackmanController(GameField gameField, GameFieldView gameFieldView)
        {
            this.gameField     = gameField;
            this.gameFieldView = gameFieldView;

            gameField.End                  += gameField.StopTimer;
            gameField.End                  += gameFieldView.MainForm.GameOver;
            gameField.Win                  += gameField.StopTimer;
            gameField.Win                  += gameFieldView.MainForm.WonGame;
            gameField.ScoreUpdate          += gameFieldView.MainForm.UpdateScore;
            gameField.Timer.Tick           += gameFieldView.InfoForm.UpdateView;
            gameFieldView.MainForm.KeyDown += handleInput;
        }
    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]);
    }
 private void OnShapeCreated(IEvent evnt)
 {
     GameFieldView.ShapeInit(evnt.data as GameObject, GameFieldModel.FieldGrid);
     dispatcher.Dispatch(GameFieldEvent.CHECK_FREE_SPACE, GameFieldView.SpawnPoints);
 }
Exemple #10
0
    public override void Execute()
    {
        GameFieldView field = Object.FindObjectOfType <GameFieldView>();

        ScreenScaleFactor.Initialization(field.GameFieldSprt);
    }