using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NewHorizons.External.Modules.Volumes.VolumeInfos
{
[JsonObject]
public class InteractionVolumeInfo : VolumeInfo
{
///
/// The prompt to display when the volume is interacted with.
///
public string prompt;
///
/// The range at which the volume can be interacted with.
///
[DefaultValue(2f)] public float range = 2f;
///
/// The max view angle (in degrees) the player can see the volume with to interact with it. This will effectively be a cone extending from the volume's center forwards (along the Z axis) based on the volume's rotation.
/// If not specified, no view angle restriction will be applied.
///
public float? maxViewAngle;
///
/// Whether the volume can be interacted with while in the ship.
///
public bool usableInShip;
///
/// Whether the volume can be interacted with multiple times.
///
public bool reusable;
///
/// The name of the dialogue condition or persistent condition to set when the volume is interacted with.
///
public string condition;
///
/// If true, the condition will persist across all future loops until unset.
///
public bool persistent;
///
/// A sound to play when the volume is interacted with. Can be a path to a .wav/.ogg/.mp3 file, or taken from the AudioClip list.
///
public string audio;
///
/// A path to an animator component where an animation will be triggered when the volume is interacted with.
///
public string pathToAnimator;
///
/// The name of an animation trigger to set on the animator when the volume is interacted with.
///
public string animationTrigger;
}
}