public void ApplyColorToLayersInPrefab(GameObject prefabAsset) { List <ThemeSystem.Colors> layerColorData = GetColorPreferences(); List <Transform> childObjects = new List <Transform>(); if (prefabAsset.GetComponent <IThemeHandler>() != null) { childObjects.AddRange(prefabAsset.transform.GetComponentsInChildren <Transform>(true)); } for (int i = 0; i < childObjects.Count; i++) { bool isLayerTagPresent = layerColorData.Exists(x => x.name.Equals(childObjects[i].tag)); if (isLayerTagPresent) { ThemeSystem.Colors colorElement = layerColorData.Find(x => x.name.Equals(childObjects[i].tag)); JMRColorTheme.SetColor(childObjects[i], colorElement.color); } } }
private bool ApplyOnObjects(ThemeLayer themelayer, List <Transform> layeredObjects, ThemeType themeType) { if (layeredObjects != null && layeredObjects.Count > 0) { foreach (Transform obj in layeredObjects) { for (int i = 0; i < currentColorsList.Count; i++) { if (currentColorsList[i].name.Equals(themelayer.ToString())) { JMRColorTheme.SetColor(obj, currentColorsList[i].color); } } } } else { return(false); } return(true); }