Exemple #1
0
    /// <summary>
    /// Iterate through the provided levels and populate the grid layout
    /// </summary>
    /// <param name="levels"></param>
    public void UpdateLevelList(ScenarioController.LevelObject[] levels)
    {
        for (var i = 0; i < levels.Length; i++)
        {
            var levelItem = UnityEngine.Object.Instantiate(_itemPrefab, _gridLayout.transform, false);
            levelItem.GetComponent <LevelItemBehaviour>().SetupItem(levels[i].Stars, Localization.GetAndFormat("LINE", true, levels[i].Id));
            var index = i;
            levelItem.GetComponent <Button>().onClick.AddListener(() => CommandQueue.AddCommand(new SetLevelCommand(levels[index].Id)));
        }
        var contentView   = _gridLayout.Parent().RectTransform();
        var cellHeight    = _gridLayout.cellSize.y;
        var rows          = Mathf.Ceil(levels.Length / (float)_columns);
        var contentHieght = cellHeight * rows;

        contentView.sizeDelta = new Vector2(1f, contentHieght);
    }