void Awake() { // Create the board model var boardModelFactory = new BoardModelFactory(); var boardModel = boardModelFactory.Model; // Create the board view var boardViewFactory = new BoardViewFactory(); var boardView = boardViewFactory.View; // Create the board controller var boardControllerFactory = new BoardControllerFactory(boardModel, boardView); var boardController = boardControllerFactory.Controller; // Create the block models, views and controllers var blockModelFactory = new BlockModelFactory(); var blockViewFactory = new BlockViewFactory(); var blockControllerFactory = new BlockControllerFactory(); for (int x = 0; x < BoardModel.Columns; x++) { for (int y = 0; y < BoardModel.Rows; y++) { var blockModel = blockModelFactory.CreateBlock(); blockModel.Position = new Vector2(x, y); boardModel.Blocks[x, y] = blockModel; var blockView = blockViewFactory.CreateView((boardView as BoardView).gameObject); var blockController = blockControllerFactory.CreateController(blockModel, blockView); } } }
void CreateBoard(GameObject[,] slotContent) { BoardModelFactory modelFactory = new BoardModelFactory(); boardModel = modelFactory.Create(new SlotModelFactory(), rows, columns); BoardViewFactory viewFactory = new BoardViewFactory(); boardView = viewFactory.Create(new SlotViewFactory(), rows, columns, transform); BoardControllerFactory controllerFactory = new BoardControllerFactory(); boardController = controllerFactory.Create(new SlotControllerFactory(), boardModel, boardView); boardModel.SetSlotsContent(slotContent); }