Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using UnityEngine.Events;
- public class ObjectToggle : MonoBehaviour
- {
- public KeyCode ToggleKey;
- public GameObject toggleTarget;
- private bool IsToggledOff;
- public UnityEvent ToggledOn;
- public UnityEvent ToggledOff;
- private void Start()
- {
- if (!toggleTarget)
- {
- toggleTarget = transform.GetChild(0).gameObject;
- }
- }
- public void Toggle()
- {
- if (!toggleTarget)
- return;
- toggleTarget.SetActive(IsToggledOff);
- IsToggledOff = !IsToggledOff;
- if (IsToggledOff) ToggledOn?.Invoke();
- else ToggledOff?.Invoke();
- }
- public void Toggle(bool newState)
- {
- IsToggledOff = !newState;
- Toggle();
- }
- void Update()
- {
- if (Input.GetKeyDown(ToggleKey))
- {
- Toggle();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement