示例#1
0
        public void CloneBuilding(BuildingItem item, string cloneName, int level)
        {
            Configuration.Theme theme = selectedTheme;

            if (!theme.containsBuilding(cloneName))
            {
                Configuration.Building clone = new Configuration.Building(cloneName);
                clone.baseName = item.isCloned ? item.building.baseName : item.name;
                clone.level    = level;

                selectedTheme.buildings.Add(clone);
                m_isDistrictThemesDirty = true;

                // Refresh building list
                List <BuildingItem> list = GetBuildingItemList(theme);
                m_themes[theme] = list;

                m_buildingSelection.selectedIndex = -1;
                m_buildingSelection.rowsData      = Filter(list);

                // Select cloned item if displayed
                for (int i = 0; i < m_buildingSelection.rowsData.m_size; i++)
                {
                    BuildingItem buildingItem = m_buildingSelection.rowsData.m_buffer[i] as BuildingItem;
                    if (buildingItem.building == clone)
                    {
                        m_buildingSelection.selectedIndex = i;
                        m_buildingSelection.DisplayAt(i);
                        UpdateBuildingInfo(list[i]);
                        break;
                    }
                }
            }
        }
示例#2
0
        private void CreateBuilding(BuildingItem item)
        {
            if (item.building != null)
            {
                return;
            }

            Configuration.Building building = new Configuration.Building(item.name);
            building.baseName = BuildingVariationManager.instance.GetBasePrefabName(item.name);
            building.include  = false;

            if (!selectedTheme.containsBuilding(building.name))
            {
                selectedTheme.buildings.Add(building);
                item.building = building;
            }
        }
示例#3
0
        private void CreateBuilding(BuildingItem item)
        {
            if (item.building != null) return;

            Configuration.Building building = new Configuration.Building(item.name);
            building.baseName = BuildingVariationManager.instance.GetBasePrefabName(item.name);
            building.include = false;

            if (!selectedTheme.containsBuilding(building.name))
            {
                selectedTheme.buildings.Add(building);
                item.building = building;
            }
        }
示例#4
0
        public void CloneBuilding(BuildingItem item, string cloneName, int level)
        {
            Configuration.Theme theme = selectedTheme;

            if (!theme.containsBuilding(cloneName))
            {
                Configuration.Building clone = new Configuration.Building(cloneName);
                clone.baseName = item.isCloned ? item.building.baseName : item.name;
                clone.level = level;

                selectedTheme.buildings.Add(clone);
                m_isDistrictThemesDirty = true;

                // Refresh building list
                List<BuildingItem> list = GetBuildingItemList(theme);
                m_themes[theme] = list;

                m_buildingSelection.selectedIndex = -1;
                m_buildingSelection.rowsData = Filter(list);

                // Select cloned item if displayed
                for (int i = 0; i < m_buildingSelection.rowsData.m_size; i++)
                {
                    BuildingItem buildingItem = m_buildingSelection.rowsData.m_buffer[i] as BuildingItem;
                    if (buildingItem.building == clone)
                    {
                        m_buildingSelection.selectedIndex = i;
                        m_buildingSelection.DisplayAt(i);
                        UpdateBuildingInfo(list[i]);
                        break;
                    }
                }
            }
        }
示例#5
0
        public void ChangeBuildingStatus(BuildingItem item, bool include)
        {
            if (include == item.included) return;

            if (item.building != null && item.building.isBuiltIn)
            {
                item.building.include = include;
            }
            else if (include)
            {
                Configuration.Building building = new Configuration.Building(item.name);

                if (!selectedTheme.containsBuilding(building.name))
                {
                    selectedTheme.buildings.Add(building);
                    item.building = building;
                }
            }
            else
            {
                Configuration.Building building = selectedTheme.getBuilding(item.name);
                if (building != null)
                    selectedTheme.buildings.Remove(building);

                item.building = null;
            }

            m_isDistrictThemesDirty = true;
        }