33 lines
904 B
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace Kill.UI.Components
{
public class Switch : MonoBehaviour
{
public Sprite[] sprites;
public bool isOn = false;
Action<bool> onClick;
Image image;
Button button;
public void Init(bool isOn, Action<bool> onClick)
{
this.isOn = isOn;
image = GetComponentInChildren<Image>();
button = GetComponent<Button>();
button.onClick.RemoveAllListeners();
button.onClick.AddListener(OnClickSwitch);
image.sprite = sprites[isOn ? 1 : 0];
this.onClick = onClick;
}
public void OnClickSwitch()
{
isOn = !isOn;
image.sprite = sprites[isOn ? 1 : 0];
onClick?.Invoke(isOn);
}
}
}