using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public abstract class ToggleBehaviour : MonoBehaviour, IBehaviour { [SerializeField] private Toggle toggle; private bool isActivated = false; protected virtual void Start() { toggle.onValueChanged.AddListener(value => init()); } private void init() { if (isActivated) Deactivate(); else Activate(); isActivated = !isActivated; // flip the flag } public abstract void Activate(); public abstract void Deactivate(); }