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