private void ApplyRuleCheck(CitizenCityDataRuleXml x) { m_service.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.SERVICE || x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_LEVEL || x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_SUBSERVICE || x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_SUBSERVICE_LEVEL; m_subService.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_SUBSERVICE || x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_SUBSERVICE_LEVEL; m_level.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_LEVEL || x.RuleCheckType == RuleCheckTypeCitizen.SERVICE_SUBSERVICE_LEVEL; m_class.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.ITEM_CLASS; m_assetFilterSelf.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.ASSET_NAME; m_ai.parent.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.AI; m_exportButtonContainer.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.ASSET_NAME; m_exportButtonContainerLocal.isVisible = x.RuleCheckType == RuleCheckTypeCitizen.ASSET_NAME; if (ulong.TryParse(x.AssetName?.Split('.')[0], out _)) { m_exportButton.Enable(); } else { m_exportButton.Disable(); } if (x.AssetName.IsNullOrWhiteSpace()) { m_exportButtonLocal.Disable(); } else { m_exportButtonLocal.Enable(); } }
private void ApplyColorUIRules(CitizenCityDataRuleXml x) { bool isPastel = x.ColoringMode == ColoringMode.PASTEL_FULL_VIVID || x.ColoringMode == ColoringMode.PASTEL_HIGHER_SATURATION || x.ColoringMode == ColoringMode.PASTEL_ORIG; m_allowRed.isVisible = isPastel; m_allowGreen.isVisible = isPastel; m_allowBlues.isVisible = isPastel; m_allowNeutral.isVisible = isPastel; m_listColorContainer.isVisible = x.ColoringMode == ColoringMode.LIST; }
private void UpdateColorList(ref CitizenCityDataRuleXml reference) { UIPanel[] colorPickers = m_colorFieldTemplateListColors.SetItemCount(reference.m_colorList.Count); m_isLoadingColors = true; for (int i = 0; i < reference.m_colorList.Count; i++) { UIColorField colorField = colorPickers[i].GetComponentInChildren <UIColorField>(); if (colorField.objectUserData == null) { colorField.eventSelectedColorChanged += (x, y) => SafeObtain((ref CitizenCityDataRuleXml z) => { if (!m_isLoadingColors && z.m_colorList.Count > x.parent.zOrder) { m_isLoadingColors = true; if (y == default) { z.m_colorList.RemoveAt(x.parent.zOrder); UpdateColorList(ref z); } else { z.m_colorList[x.parent.zOrder] = y; } BuildingManager.instance.UpdateBuildingColors(); m_isLoadingColors = false; } }); colorField.eventColorPickerOpen += KlyteMonoUtils.DefaultColorPickerHandler; colorField.objectUserData = true; } colorField.selectedColor = reference.m_colorList[i]; } m_addColor.zOrder = 99999999; m_isLoadingColors = false; }