Пример #1
0
    private void RefreshTiles()
    {
        foreach (Transform child in _contentArea.transform)
        {
            Destroy(child.gameObject);
        }

        BuildingModel[] models = SharedModels.GetModels <BuildingModel>();
        foreach (var model in models)
        {
            var asset = Instantiate(ElementTemplate);
            var tile  = asset.GetComponent <TileView>();
            Assert.IsNotNull(tile, "ElementTemplate does not contain a ColorTileView script");
            tile.transform.SetParent(_contentArea, false);
            tile.ContentModel       = model;
            tile.TileSelectedEvent += OnItemSelected;
            //tile.TileEnableEvent += (itile, go) => Debug.Log(go.name + " enabled: " + itile.IsEnabled);
            tile.AvailabilityDelegate = (tileModel) =>
            {
                BuildingModel buildingModel   = tileModel as BuildingModel;
                int           buildingsNumber = _gridModel.FindAll(buildingModel).Length;
                return(buildingsNumber < buildingModel.MaxNumber);
            };
        }
    }