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(); }
public MainForm(GameField gameField, Size sizeField, GameFieldView gameFieldView) { InitializeComponent(); GameField = gameField; GameFieldView = gameFieldView; pictureBox1.Size = gameField.SizeField; GameField.Timer.Tick += (s, e) => UpdateView(); }
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); }
public override void Execute() { GameFieldView field = Object.FindObjectOfType <GameFieldView>(); ScreenScaleFactor.Initialization(field.GameFieldSprt); }