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); } } }
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))); }
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); }