//--------------------------------------------------------
|
// [Author]: 玩个游戏
|
// [ Date ]: Thursday, August 23, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
using UnityEngine.Events;
|
|
|
public class OnOffToggle : MonoBehaviour
|
{
|
|
[SerializeField] Button m_Button;
|
[SerializeField] RectTransform m_Handle;
|
[SerializeField] Image m_BackGround;
|
[SerializeField] RectTransform m_OnShow;
|
[SerializeField] RectTransform m_OffShow;
|
[SerializeField] Vector2 m_OnHandleOffset;
|
[SerializeField] Vector2 m_OffHandleOffset;
|
|
bool m_IsOn = false;
|
public bool isOn {
|
get { return m_IsOn; }
|
set {
|
m_IsOn = value;
|
SwitchShowState(m_IsOn);
|
}
|
}
|
|
public void AddListener(UnityAction _action)
|
{
|
if (m_Button != null)
|
{
|
m_Button.AddListener(_action);
|
}
|
}
|
|
public void RemoveAllListeners()
|
{
|
if (m_Button != null)
|
{
|
m_Button.RemoveAllListeners();
|
}
|
}
|
|
private void SwitchShowState(bool _isOn)
|
{
|
if (m_Handle == null)
|
return;
|
m_Handle.anchoredPosition = _isOn ? m_OnHandleOffset : m_OffHandleOffset;
|
m_BackGround.SetSprite(_isOn ? "SettingUpWin_NO" : "SettingUpWin_OFF");
|
m_OnShow.SetActive(_isOn);
|
m_OffShow.SetActive(!_isOn);
|
}
|
}
|