예제 #1
0
    private void SetCardPosition(RulesHolder.LevelDataStruct data, List <int> numbers, Vector2 startPos)
    {
        _memoryCards = new List <MemoryCard>(data.gridCols * data.gridRows);
        for (var i = 0; i < data.gridCols; i++)
        {
            for (var j = 0; j < data.gridRows; j++)
            {
                var card = Instantiate(data.prefabCard);

                var index = j * data.gridCols + i;
                var id    = numbers[index];

                if (id >= data.images.Length)
                {
                    Debug.LogError("CHECK COUNT CARD AND COUNT IMAGES. LOOKS LIKE YOU DON`T HAVE ENOUGH PIC FOR THIS CARDS COUNT");
                    card.SetCard(id, data.images[0]);
                }
                else
                {
                    card.SetCard(id, data.images[id]);
                }

                var posX = data.offsetX * i + startPos.x;
                var posY = -(data.offsetY * j) + startPos.y;

                card.transform.position = new Vector3(posX, posY);
                _memoryCards.Add(card);
            }
        }
    }
예제 #2
0
    private Vector2 SetStartPosition(RulesHolder.LevelDataStruct data)
    {
        var countInCols = data.gridCols;
        var countInRows = data.gridRows;

        var offsetY = data.offsetY;

        return(new Vector2(SetStartXPos(countInCols), SetStartYPos(offsetY, countInRows)));
    }
예제 #3
0
    private List <int> CreateIds(RulesHolder.LevelDataStruct data)
    {
        var imagesLength = data.images.Length;
        var ids          = new List <int>(imagesLength);

        for (int i = 0; i < imagesLength; i++)
        {
            ids.Add(i);
            ids.Add(i);
            //because we need pair cards with same id
        }

        return(ids);
    }