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