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);
        }