示例#1
0
        private GameObject CreatePieceObject()
        {
            GridItemFactory pieceFactory = CreatePieceFactory();
            GameObject      pieceObject  = pieceFactory.Create();

            return(pieceObject);
        }
示例#2
0
        private GridItemMover CreateGridItemMover()
        {
            GridItemFactory gridItemFactory = CreateGridItemFactory();
            GameObject      gridItemObject  = gridItemFactory.Create();

            return(gridItemObject.GetComponent <GridItemMover>());
        }
示例#3
0
        private GameObject CreateSlotObject()
        {
            ItemNeighborRetriever itemNeighborRetriever = CreateItemNeighborRetriever();
            GridItemFactory       slotFactory           = CreateSlotFactory(itemNeighborRetriever);

            return(slotFactory.Create());
        }
示例#4
0
        private GridItemMover CreatePieceMover()
        {
            GridItemFactory pieceFactory = CreatePieceFactory();
            GameObject      pieceObject  = pieceFactory.Create();

            return(pieceObject.GetComponent <GridItemMover>());
        }
示例#5
0
        private GridItemFactory CreateGridItemFactory(ItemNeighborRetriever itemNeighborRetriever)
        {
            GameObject      slotPrefab    = LoadSlotPrefab();
            SlotSelection   slotSelection = CreateSlotSelection();
            GridItemFactory pieceFactory  = CreatePieceFactory();

            return(new SlotFactoryImplementation(slotPrefab, slotSelection, pieceFactory, itemNeighborRetriever, new StubWinController()));
        }
        private GameObject CreateSlotObject(WinController winController)
        {
            StubNullItemNeighborRetriever itemNeighborRetriever = new StubNullItemNeighborRetriever();
            GridItemFactory slotFactory = CreateGridItemFactory(itemNeighborRetriever, winController);
            GameObject      slotObject  = slotFactory.Create();

            return(slotObject);
        }
示例#7
0
        private Game.GridImplementation CreateGrid(int width, int height, float offset, Vector2 originPosition)
        {
            StubItemNeighborRetriever itemNeighborRetriever = CreateItemNeighborRetriever();
            GridItemFactory           gridItemFactory       = CreateGridItemFactory(itemNeighborRetriever);
            GridImplementation        gridImplementation    = new Game.GridImplementation(width, height, gridItemFactory, offset, originPosition);

            itemNeighborRetriever.Initialize(gridImplementation);

            return(gridImplementation);
        }
示例#8
0
        private GridItem CreateGridItemWithWidthAndHeightInPixelsAndPixelPerUnit(float widthInPixels, float heightInPixels, float pixelPerUnit)
        {
            GridItemFactory       gridItemFactory       = CreateGridItemFactory();
            GameObject            gridItemObject        = gridItemFactory.Create();
            StubGridItemComponent stubGridItemComponent = gridItemObject.GetComponent <StubGridItemComponent>();

            stubGridItemComponent.SetWidthAndHeightInPixels(widthInPixels, heightInPixels);
            stubGridItemComponent.SetPixelPerUnit(pixelPerUnit);

            return(stubGridItemComponent);
        }
        public GridImplementation(int width, int height, GridItemFactory gridItemFactory, float offsetBetweenGridItems, Vector2 origin)
        {
            this.width                  = width;
            this.height                 = height;
            this.gridItemFactory        = gridItemFactory;
            this.offsetBetweenGridItems = offsetBetweenGridItems;
            Origin          = origin;
            GridItemObjects = new List <GameObject>();

            positioningStrategy = CreatePositioningStrategy();
            CreateGridItems();
        }
示例#10
0
        public SlotFactoryImplementation(GameObject gridItemObjectPrefab, SlotSelection slotSelection, GridItemFactory pieceFactory, ItemNeighborRetriever itemNeighborRetriever, WinController winController)
        {
            this.gridItemObjectPrefab  = gridItemObjectPrefab;
            this.slotSelection         = slotSelection;
            this.pieceFactory          = pieceFactory;
            this.itemNeighborRetriever = itemNeighborRetriever;
            this.winController         = winController;

            GridItem gridItem = gridItemObjectPrefab.GetComponent <GridItem>();

            GridItemWidthInUnit  = gridItem.WidthInUnit;
            GridItemHeightInUnit = gridItem.HeightInUnit;
        }
        public void CreatePieaceAndSetItsPosition()
        {
            float   offset         = 2;
            Vector2 originPosition = new Vector2(0, 0);

            Game.GridImplementation grid            = CreateGrid(3, 3, offset, originPosition);
            GridItemFactory         gridItemFactory = CreateGridItemFactory();

            float   gridItemWidthInUnit  = gridItemFactory.GridItemWidthInUnit;
            float   gridItemHeightInUnit = gridItemFactory.GridItemHeightInUnit;
            int     amountOfGridColumns  = grid.Width;
            int     amountOfGridRows     = grid.Height;
            Vector2 gridOrigin           = grid.Position;
            Vector2 piceMeasuresInUnit   = new Vector2(gridItemWidthInUnit, gridItemHeightInUnit);

            GridItemPositioningStrategy positioningStrategy = CreateCenterPositioningStrategy
                                                              (
                amountOfGridColumns,
                amountOfGridRows,
                gridOrigin,
                piceMeasuresInUnit,
                offset
                                                              );

            GameObject    gridItemObject = gridItemFactory.Create();
            GridItem      gridItem       = gridItemObject.GetComponent <GridItem>();
            GridItemMover gridItemMover  = gridItemObject.GetComponent <GridItemMover>();

            Assert.IsNotNull(gridItem);
            Assert.IsNotNull(gridItemMover);

            gridItemMover.Position = positioningStrategy.GetGridItemPositionByRowAndColum(0, 0);

            Assert.AreEqual(gridItemWidthInUnit, gridItem.WidthInUnit);
            Assert.AreEqual(gridItemHeightInUnit, gridItem.HeightInUnit);
            //Assert.AreEqual(new Vector2(-10.5f, 12), gridItemMover.Position);
        }
示例#12
0
 protected virtual void InitializeFactory()
 {
     factory = new GridItemFactory();
 }
示例#13
0
 public void Construct()
 {
     gridItemFactory = new SlotFactoryImplementation(slotPrefab, slotSelectionComponent, pieceFactory, grid, winController);
 }
示例#14
0
 public void Construct()
 {
     pieceDataSorter.Construct();
     gridItemFactory = new PieceFactoryImplementation(piecePrefab, pieceDataSorter);
 }
        private Game.GridImplementation CreateGrid(int width, int height, float offset, Vector2 originPosition)
        {
            GridItemFactory gridItemFactory = CreateGridItemFactory();

            return(new Game.GridImplementation(width, height, gridItemFactory, offset, originPosition));
        }
示例#16
0
 public StubSlotFactory(GameObject slotPrefab, SlotSelection slotSelection, ItemNeighborRetriever itemNeighborRetriever)
 {
     gridItemFactory = new SlotFactoryImplementation(slotPrefab, slotSelection, pieceFactory, itemNeighborRetriever, new StubWinController());
 }