﻿using System;
using UnityEngine;
using UnityEngine.UI;

namespace AsmodeeDigital.Common.Samples.UI
{
    [Serializable]
    public class TabToggle : Toggle
    {
        public Color ColorOn;
        public Color ColorOff;
        public Color ColorCheckMarkOn;
        public Text Text;
        public Image CheckMark;

        protected override void Start()
        {
            base.Start();

            this.onValueChanged.AddListener(OnValueChanged);
        }

        private void OnValueChanged(bool value)
        {
            RefreshShadowLine();
        }

        #if UNITY_EDITOR
        protected override void OnValidate()
        {
            RefreshShadowLine();

            base.OnValidate();
        }
        #endif

        private void RefreshShadowLine()
        {
            targetGraphic.color = this.isOn ? ColorOn : ColorOff;
            Text.color = this.isOn ? ColorCheckMarkOn : Color.white;
            CheckMark.color = ColorCheckMarkOn;
        }
    }
}
