﻿using System;
using TMPro;
using UnityEngine;

namespace AsmodeeDigital.Common.Plugin.Domain.Data
{
    [CreateAssetMenu]
    public class CrossPromoSkin : ScriptableObject
    {
        [Header("Popup")]
        public Sprite PopupShadow;
        public int PopupShadowSize;
        public Sprite PopupWindow;
        public Sprite PopupHeaderBackground;
        public TextSkin PopupHeaderText;
        public Sprite PopupCloseButtonBackground;
        public Sprite PopupCloseButtonForeground;
        public Color PopupCloseButtonNormalColor;
        public Color PopupCloseButtonHighlightedColor;
        public Color PopupCloseButtonPressedColor;
        public Color PopupCloseButtonDisabledColor;

        [Header("Scroll bar")]
        public Sprite ScrollbarLine;
        public Sprite ScrollbarButton;
        public Sprite ScrollbarButtonGrip;
        public Color ScrollbarNormalColor;
        public Color ScrollbarHighlightedColor;
        public Color ScrollbarPressedColor;
        public Color ScrollbarDisabledColor;

        [Header("More games")]
        public Sprite FilterHighlighted;
        public Sprite FilterPressed;
        public Sprite FilterDisabled;
        public Color FilterHighlightedTextColor;
        public Color FilterNormalTextColor;

        [Header("More games - Tile")]
        public int TileBorderSize = 2;
        public Color TileBorderColor = Color.white;
        public Sprite TileDetailButton;
        public Color TileDetailButtonNormalColor;
        public Color TileDetailButtonHighlightedColor;
        public Color TileDetailButtonPressedColor;
        public Color TileDetailButtonDisabledColor;
        public Sprite TileLoading;
        public Color TileLoadingColor;
        public float TileLoadingSpeed;

        [Header("More games - Tile - Button")]
        public Color TileButtonColor;
        public Sprite TileButton;
        [Range(0f, 1f)]
        public float TileButtonAlpha;
        public TextSkin TileButtonText;

    }

    [Serializable]
    public class TextSkin
    {
        public TMP_FontAsset Font;
        public int FontSize;
        public VertexGradient Gradient;
    }
}
