Пример #1
0
        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();
            }
        }
Пример #2
0
        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;
        }
Пример #3
0
 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;
 }