Exemplo n.º 1
0
    public void UpdateTitleText(Theme theme, Theme.ColorMode colorMode)
    {
        Color  titleTheme           = theme.textElementDictionary.GetElementData(Theme.TextUIThemeKey.StaticPanelText).GetValue(colorMode);
        string titleHighlightString = ColorUtility.ToHtmlStringRGB(titleTheme);

        themeTitleText.text = $"Current Theme: <color=#{titleHighlightString}>{theme.name}</color>";
    }
Exemplo n.º 2
0
 public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
 {
     if (theme != null)
     {
         Color textColor = theme.textElementDictionary.GetElementData(elementKey).GetValue(colorMode);
         elementText.color = textColor;
     }
 }
Exemplo n.º 3
0
 private void LoadElement(ThemeElementData data, Theme.ColorMode colorMode)
 {
     if (data != null)
     {
         elementImage.sprite = data.GetElementSprite();
         elementImage.type   = data.GetSpriteType();
         elementImage.color  = data.GetColorByMode(colorMode);
     }
 }
Exemplo n.º 4
0
    public Color GetValue(Theme.ColorMode key)
    {
        if (Contains(key, out int index))
        {
            return(values[index]);
        }

        return(Color.white);
    }
Exemplo n.º 5
0
    public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
    {
        ThemeElementData data = theme.generalUIThemeDictionary.GetElementData(toggled ? secondaryKey : primaryKey);

        if (data != null)
        {
            elementImage.sprite = data.GetElementSprite();
            elementImage.type   = data.GetSpriteType();
            elementImage.color  = data.GetColorByMode(colorMode);
        }
    }
    public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
    {
        ThemeElementData data = theme.gameUIThemeDictionary.GetElementData(currentKey);

        if (data != null)
        {
            elementImage.sprite = data.GetElementSprite();
            elementImage.type   = data.GetSpriteType();
            elementImage.color  = data.GetColorByMode(colorMode);
        }
    }
Exemplo n.º 7
0
 public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
 {
     if (theme != null)
     {
         ThemeElementData data = theme.generalUIThemeDictionary.GetElementData(highlighted ? highlightKey : normalKey);
         if (data != null)
         {
             targetImage.sprite = data.GetElementSprite();
             targetImage.color  = data.GetColorByMode(colorMode);
         }
     }
 }
Exemplo n.º 8
0
 public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
 {
     if (theme != null)
     {
         if (mainCamera != null)
         {
             mainCamera.backgroundColor = theme.background.GetValue(colorMode);
         }
         else if (backgroundImage != null)
         {
             backgroundImage.color = theme.background.GetValue(colorMode);
         }
     }
 }
Exemplo n.º 9
0
    private void OnGUI()
    {
        EditorGUILayout.LabelField("Theme Setter", EditorStyles.boldLabel);
        EditorGUILayout.Separator();

        selectedTheme = (Theme)EditorGUILayout.ObjectField("Target Theme", selectedTheme, typeof(Theme), false);
        colorMode     = (Theme.ColorMode)EditorGUILayout.EnumPopup("Target Color Mode", colorMode);
        if (selectedTheme != null)
        {
            if (GUILayout.Button("Set Theme"))
            {
                ThemeManager.SetTheme(selectedTheme.name);
                ThemeManager.SetColorMode(colorMode);
                //SetTheme();
            }
        }
    }
Exemplo n.º 10
0
    private void DrawColorDictionary(ColorDictionary dictionary)
    {
        int colorCount = Enum.GetNames(typeof(Theme.ColorMode)).Length;

        for (int i = 0; i < colorCount; i++)
        {
            Theme.ColorMode key = (Theme.ColorMode)i;
            if (!dictionary.Contains(key, out int index))
            {
                dictionary.Add(key, Color.white);
            }

            EditorGUILayout.BeginHorizontal();
            EditorGUILayout.LabelField($"{key} Color:", GUILayout.MaxWidth(150f));
            dictionary.SetValue(i, EditorGUILayout.ColorField(dictionary.GetValue(i), GUILayout.MaxWidth(150f)));
            EditorGUILayout.EndHorizontal();
        }
    }
Exemplo n.º 11
0
    private void Awake()
    {
        elementImage = GetComponent <Image>();
        if (elementImage == null)
        {
            Debug.LogError($"Couldn't find Image for object {gameObject.name}");
        }

        currentTheme     = ThemeManager.GetCurrentTheme();
        currentColorMode = ThemeManager.GetCurrentColorMode();

        StoreThemeElements(currentTheme, currentColorMode);
        LoadElement(primaryKeyData, currentColorMode);

        if (updateDynamically)
        {
            ThemeManager.onThemeSettingsUpdate += LoadElement;
        }
    }
Exemplo n.º 12
0
    public bool Contains(Theme.ColorMode key, out int index)
    {
        if (keys == null || keys.Count == 0)
        {
            index = -1;
            return(false);
        }

        for (int i = 0; i < keys.Count; i++)
        {
            if (keys[i] == key)
            {
                index = i;
                return(true);
            }
        }

        index = -1;
        return(false);
    }
Exemplo n.º 13
0
    public override void LoadElement(Theme theme, Theme.ColorMode colorMode)
    {
        if (gameShape == null)
        {
            gameShape = GetComponent <GameShape>();
        }

        if (elementImage == null)
        {
            elementImage = GetComponent <Image>();
        }

        if (theme != null && elementImage != null)
        {
            Sprite shapeSprite = theme.gameShapeThemeDictionary.GetElementData(gameShape.GetShapeType());
            Color  shapeColor  = theme.gameShapeThemeDictionary.GetElementData(gameShape.GetShapeColor()).GetValue(colorMode);

            elementImage.sprite = shapeSprite;
            elementImage.color  = shapeColor;
        }
    }
Exemplo n.º 14
0
    public void Add(Theme.ColorMode key, Color value)
    {
        if (keys == null || values == null)
        {
            keys   = new List <Theme.ColorMode>();
            values = new List <Color>();

            keys.Add(key);
            values.Add(value);

            return;
        }


        if (!Contains(key, out int index))
        {
            keys.Add(key);
            values.Add(value);

            return;
        }
    }
Exemplo n.º 15
0
 public static void SetColorMode(Theme.ColorMode colorMode)
 {
     saveDataAccessor.SetData(SaveKeys.SELECTED_COLOR_MODE, colorMode);
 }
Exemplo n.º 16
0
 public abstract void LoadElement(Theme theme, Theme.ColorMode colorMode);
Exemplo n.º 17
0
 public Color GetColorByMode(Theme.ColorMode colorMode)
 {
     return(elementColors.GetValue(colorMode));
 }
Exemplo n.º 18
0
 private void ToggleSelectedIcon(Theme theme, Theme.ColorMode colorMode)
 {
     selectedIcon.SetActive(theme == themeToPreview);
 }
Exemplo n.º 19
0
 private void StoreThemeElements(Theme theme, Theme.ColorMode colorMode)
 {
     primaryKeyData   = theme.generalUIThemeDictionary.GetElementData(primaryKey);
     secondaryKeyData = theme.generalUIThemeDictionary.GetElementData(secondaryKey);
 }