namespace Tilia.Interactions.Interactables.Interactables.Grab.Action { using UnityEngine; using Zinnia.Data.Attribute; /// /// Describes an action that performs no action. /// public class GrabInteractableNullAction : GrabInteractableAction { [Tooltip("The container of the grab event logic.")] [SerializeField] [Restricted] private GameObject grabEventContainer; /// /// The container of the grab event logic. /// public GameObject GrabEventContainer { get { return grabEventContainer; } set { grabEventContainer = value; } } [Tooltip("The container of the ungrab event logic.")] [SerializeField] [Restricted] private GameObject ungrabEventContainer; /// /// The container of the ungrab event logic. /// public GameObject UngrabEventContainer { get { return ungrabEventContainer; } set { ungrabEventContainer = value; } } [Tooltip("Determines whether to force the grabbed/ungrabbed events even though no grab is occurring.")] [SerializeField] private bool forceEmitEvents; /// /// Determines whether to force the grabbed/ungrabbed events even though no grab is occurring. /// public bool ForceEmitEvents { get { return forceEmitEvents; } set { forceEmitEvents = value; } } protected virtual void OnEnable() { OnForceEmitEventsChange(); } /// /// Called after has been changed. /// protected virtual void OnForceEmitEventsChange() { GrabEventContainer.SetActive(ForceEmitEvents); UngrabEventContainer.SetActive(ForceEmitEvents); } } }