예제 #1
0
 //-Buildings
 //TODO: Wrap to the UI Interface ??? {
 public BuildingScheme[] getBuildingSchemes()
 {
     BuildingScheme[] theBuildingSchemes =
         new BuildingScheme[_buildingSchemes.getSize()];
     _buildingSchemes.collectAll(theBuildingSchemes);
     return(theBuildingSchemes);
 }
 public void init(
     BuildingScheme inBuildingScheme, OnSelectBuilding inOnSelectBuilding)
 {
     _buildingScheme   = inBuildingScheme;
     _onSelectBuilding = inOnSelectBuilding;
     refreshUIElements();
 }
예제 #3
0
    BuildingSelectionUIElementObject createBuildingSelectionUI(
        BuildingScheme inBuildingSceme)
    {
        GameObject theBuildingSelectionUIGameObject =
            Instantiate(_buildingSelectionUIElementPrefab);
        var theBuildingSelectionUI =
            XUtils.getComponent <BuildingSelectionUIElementObject>(
                theBuildingSelectionUIGameObject, XUtils.AccessPolicy.ShouldExist
                );

        theBuildingSelectionUI.init(inBuildingSceme,
                                    (BuildingScheme inBuildingScheme) =>
        {
            BuildingPlanObject theBuildingPlan = XUtils.createObject(
                inBuildingScheme.buildingPlan
                );
            theBuildingPlan.init(_carCity);
            theBuildingPlan.getUIInterface().init(
                _carCity, _constructionSiteUIPrefab
                );
        });

        return(theBuildingSelectionUI);
    }
예제 #4
0
    //}

    public void addBuildingScheme(BuildingScheme inBuildingScheme)
    {
        _buildingSchemes.add(inBuildingScheme);
        onBuildingSchemeAdded?.Invoke(inBuildingScheme);
    }