﻿using UnityEngine;
using UnityEngine.UI;

namespace JLGames.RocketDriver.Samples.ServiceDemo
{
    public class ServiceStateNode : MonoBehaviour
    {
        [SerializeField] private Color m_WatiingColor = Color.white;
        [SerializeField] private Color m_DisableColor = Color.gray;
        [SerializeField] private Color m_EnableColor = Color.red;
        [SerializeField] private Color m_FinishColor = Color.green;
        [SerializeField] private string m_WaitingText = "Waiting";
        [SerializeField] private string m_DisableText = "Disable";
        [SerializeField] private string m_DoingText = "Doing";
        [SerializeField] private string m_FinishText = "Finish";

        private Image m_Background;
        private Text m_Text;

        private void Awake()
        {
            m_Background = GetComponent<Image>();
            m_Text = transform.GetChild(0).GetComponent<Text>();
            SetWaiting();
        }

        private void SetWaiting()
        {
            m_Text.text = m_WaitingText;
            m_Background.color = m_WatiingColor;
        }

        public void SetDisable()
        {
            m_Text.text = m_DisableText;
            m_Background.color = m_DisableColor;
        }

        public void SetEnable()
        {
            m_Text.text = m_DoingText;
            m_Background.color = m_EnableColor;
        }

        public void SetFinish()
        {
            m_Text.text = m_FinishText;
            m_Background.color = m_FinishColor;
        }
    }
}