public void ApplyTheme() { _theme = GetComponentInParent <Theme>(); if (!_theme) { return; } _themeSettings = _theme.theme; if (!_themeSettings) { return; } Image im = GetComponent <Image>(); #if UNITY_EDITOR Undo.RecordObject(im, "Changing Image Color"); #endif im.color = _themeSettings.sliderFillColor; #if UNITY_EDITOR PrefabUtility.RecordPrefabInstancePropertyModifications(im); #endif }
public void ApplyTheme() { _theme = GetComponentInParent <Theme>(); if (!_theme) { return; } _themeSettings = _theme.theme; if (!_themeSettings) { return; } if (colorTag != ColorTag.Unchanged) { PopulateColorDictionary(); Image im = GetComponent <Image>(); if (im) { #if UNITY_EDITOR Undo.RecordObject(im, "Changing Image Color"); #endif im.color = _colorFromTag[colorTag]; #if UNITY_EDITOR PrefabUtility.RecordPrefabInstancePropertyModifications(im); #endif } Text text = GetComponent <Text>(); if (text) { #if UNITY_EDITOR Undo.RecordObject(text, "Changing Text Color"); #endif text.color = _colorFromTag[colorTag]; #if UNITY_EDITOR PrefabUtility.RecordPrefabInstancePropertyModifications(text); #endif } TextMeshProUGUI tmp = GetComponent <TextMeshProUGUI>(); if (tmp) { #if UNITY_EDITOR Undo.RecordObject(tmp, "Changing Text Color"); #endif tmp.color = _colorFromTag[colorTag]; #if UNITY_EDITOR PrefabUtility.RecordPrefabInstancePropertyModifications(tmp); #endif SetTextMeshProFontMaterial setTextMeshProFontMaterial = GetComponent <SetTextMeshProFontMaterial>(); if (_themeSettings.useFontMaterial) { if (setTextMeshProFontMaterial.fontMaterialSelection == SetTextMeshProFontMaterial.FontMaterialSelection.Default) { _fontMaterialUsedAutomatically = true; switch (colorTag) { case ColorTag.Unchanged: break; case ColorTag.White: break; case ColorTag.Blue: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt2OrBlue; break; case ColorTag.Green: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt1OrGreen; break; case ColorTag.Gray: break; case ColorTag.Highlighted: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt3OrHighlighted; break; case ColorTag.Caution: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt4OrCaution; break; case ColorTag.Danger: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt5OrDanger; break; case ColorTag.ExtremeDanger: setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Alt6OrExtremeDanger; break; default: throw new ArgumentOutOfRangeException(); } setTextMeshProFontMaterial.ApplyTheme(); } } else if (_fontMaterialUsedAutomatically) { setTextMeshProFontMaterial.fontMaterialSelection = SetTextMeshProFontMaterial.FontMaterialSelection.Default; _fontMaterialUsedAutomatically = false; setTextMeshProFontMaterial.ApplyTheme(); } } } }