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);
}
}
}