public Color32 GetEffectiveColorBuilding(uint buildingId) { if (GetIgnoreDistrict(buildingId)) { Color32 c = GetColor(buildingId | BUILDING_FLAG); if (c.a != 255) { c = Color.clear; } return(c); } else { Color32 c = GetColor(SVMUtils.GetBuildingDistrict(buildingId) | DISTRICT_FLAG); if (c.a != 255) { c = GetColor(DISTRICT_FLAG); } if (c.a != 255) { c = Color.clear; } return(c); } }
private List <string> GetEffectiveAssetList(uint buildingId, out uint targetCodedId) { uint codedId = buildingId | BUILDING_FLAG; List <string> assetList; if (buildingId > 0 && GetIgnoreDistrict(codedId)) { assetList = GetAssetList(codedId); targetCodedId = codedId; SVMUtils.doLog("[{0}] GetAModel - assetList (Building) = {1}", typeof(SSD).Name, string.Join(",", assetList.ToArray())); } else { targetCodedId = DISTRICT_FLAG | SVMUtils.GetBuildingDistrict(buildingId); assetList = GetAssetList(targetCodedId); if (assetList == null || assetList.Count == 0) { assetList = GetAssetList(DISTRICT_FLAG); } SVMUtils.doLog("[{0}] GetAModel - assetList (District) = {1}", typeof(SSD).Name, string.Join(",", assetList.ToArray())); } if ((assetList?.Count ?? 0) == 0) { if (basicAssetsList == null) { LoadBasicAssets(); } assetList = basicAssetsList; } SVMUtils.doLog("[{0}] GetAModel - assetList (effective) = {1}", typeof(SSD).Name, string.Join(",", assetList.ToArray())); return(assetList); }
private void PopulateCheckboxes() { foreach (var i in m_checkboxes.Keys) { UnityEngine.Object.Destroy(m_checkboxes[i].gameObject); } var ssd = Singleton <T> .instance.GetSSD(); m_defaultAssets = ssd.GetTransportExtension().GetAllBasicAssets(); m_checkboxes = new Dictionary <string, UICheckBox>(); SVMUtils.doLog("m_defaultAssets Size = {0} ({1})", m_defaultAssets?.Count, string.Join(",", m_defaultAssets.Keys?.ToArray() ?? new string[0])); foreach (var i in m_defaultAssets.Keys) { var checkbox = (UICheckBox)m_uiHelper.AddCheckbox(m_defaultAssets[i], false, (x) => { var ext = Singleton <T> .instance.GetSSD().GetTransportExtension(); ushort buildingId = m_buildingInfo.buildingIdSel.Building; if (m_isLoading) { return; } if (x) { if (ext.GetIgnoreDistrict(buildingId)) { ext.AddAssetBuilding(buildingId, i); } else { ext.AddAssetDistrict(SVMUtils.GetBuildingDistrict(buildingId), i); } } else { if (ext.GetIgnoreDistrict(buildingId)) { ext.RemoveAssetBuilding(buildingId, i); } else { ext.RemoveAssetDistrict(SVMUtils.GetBuildingDistrict(buildingId), i); } } }); CreateModelCheckBox(i, checkbox); checkbox.label.tooltip = checkbox.label.text; checkbox.label.textScale = 0.9f; checkbox.label.transform.localScale = new Vector3(Math.Min((m_mainPanel.width - 50) / checkbox.label.width, 1), 1); m_checkboxes[i] = checkbox; } }
private void onChangeColor(UIComponent component, Color value) { if (m_isLoading) { return; } SVMUtils.doLog("onChangeColor"); var ssd = Singleton <T> .instance.GetSSD(); var ext = ssd.GetTransportExtension(); ushort buildingId = m_buildingInfo.buildingIdSel.Building; if (ext.GetIgnoreDistrict(buildingId)) { ext.SetColorBuilding(buildingId, value); } else { ext.SetColorDistrict(SVMUtils.GetBuildingDistrict(buildingId), value); } }
private void OnBuildingChange(ushort buildingId) { SVMUtils.doLog("EventOnBuildingSelChanged"); m_isLoading = true; IEnumerable <ServiceSystemDefinition> ssds = ServiceSystemDefinition.from(Singleton <BuildingManager> .instance.m_buildings.m_buffer[buildingId].Info); if (!ssds.Contains(Singleton <T> .instance.GetSSD())) { m_mainPanel.isVisible = false; return; } m_mainPanel.isVisible = true; var ssd = Singleton <T> .instance.GetSSD(); var ext = ssd.GetTransportExtension(); bool isCustomConfig = ext.GetIgnoreDistrict(buildingId); SVMUtils.doLog("ssd = {0}", ssd); List <string> selectedAssets; Color selectedColor; if (isCustomConfig) { selectedAssets = ext.GetAssetListBuilding(buildingId); selectedColor = ext.GetColorBuilding(buildingId); } else { var districtId = SVMUtils.GetBuildingDistrict(buildingId); selectedAssets = ext.GetAssetListDistrict(districtId); selectedColor = ext.GetColorDistrict(districtId); } foreach (var i in m_checkboxes.Keys) { m_checkboxes[i].isChecked = selectedAssets.Contains(i); } if (m_color != null) { m_color.selectedColor = selectedColor; } if (isCustomConfig) { m_title.text = string.Format(Locale.Get("SVM_ASSET_SELECT_WINDOW_TITLE"), Singleton <BuildingManager> .instance.GetBuildingName(buildingId, default(InstanceID)), SVMConfigWarehouse.getNameForServiceSystem(ssd.toConfigIndex())); } else { var districtId = SVMUtils.GetBuildingDistrict(buildingId); if (districtId > 0) { m_title.text = string.Format(Locale.Get("SVM_ASSET_SELECT_WINDOW_TITLE_DISTRICT"), Singleton <DistrictManager> .instance.GetDistrictName(SVMUtils.GetBuildingDistrict(buildingId)), SVMConfigWarehouse.getNameForServiceSystem(ssd.toConfigIndex())); } else { m_title.text = string.Format(Locale.Get("SVM_ASSET_SELECT_WINDOW_TITLE_CITY"), SVMConfigWarehouse.getNameForServiceSystem(ssd.toConfigIndex())); } } m_isLoading = false; m_previewPanel.isVisible = false; }