using NewHorizons.External.Modules.Props;
using NewHorizons.External.Modules.Props.Audio;
using NewHorizons.External.Modules.Props.Dialogue;
using NewHorizons.External.Modules.Props.EchoesOfTheEye;
using NewHorizons.External.Modules.Props.Quantum;
using NewHorizons.External.Modules.Props.Remote;
using NewHorizons.External.Modules.Props.Shuttle;
using NewHorizons.External.Modules.TranslatorText;
using NewHorizons.External.Modules.VariableSize;
using NewHorizons.External.Modules.Volumes.VolumeInfos;
using NewHorizons.External.Modules.WarpPad;
using Newtonsoft.Json;
using System;
namespace NewHorizons.External.Modules
{
[JsonObject]
public class PropModule
{
///
/// Place props in predefined positions on the planet
///
public DetailInfo[] details;
///
/// Add dialogue triggers to this planet
///
public DialogueInfo[] dialogue;
///
/// Add ship log entry locations on this planet
///
public EntryLocationInfo[] entryLocation;
///
/// Add Geysers to this planet
///
public GeyserInfo[] geysers;
///
/// Add translatable text to this planet. (LEGACY - for use with pre-autospirals configs)
///
[Obsolete("nomaiText is deprecated as of the release of auto spirals, instead please use translatorText with new configs.")]
public NomaiTextInfo[] nomaiText;
///
/// Add translatable text to this planet
///
public TranslatorTextInfo[] translatorText;
///
/// Details which will be shown from 50km away. Meant to be lower resolution.
///
public DetailInfo[] proxyDetails;
///
/// Add rafts to this planet
///
public RaftInfo[] rafts;
///
/// Scatter props around this planet's surface
///
public ScatterInfo[] scatter;
///
/// Add slideshows (from the DLC) to the planet
///
public ProjectionInfo[] slideShows;
///
/// A list of quantum groups that props can be added to. An example of a group would be a list of possible locations for a QuantumSocketedObject.
///
public QuantumGroupInfo[] quantumGroups;
///
/// Add tornadoes to this planet
///
public TornadoInfo[] tornados;
///
/// Add volcanoes to this planet
///
public VolcanoInfo[] volcanoes;
///
/// Add black/white-holes to this planet
///
public SingularityModule[] singularities;
///
/// Add signalscope signals to this planet
///
public SignalInfo[] signals;
///
/// Add projection pools/platforms, whiteboards, and stones to this planet
///
public RemoteInfo[] remotes;
///
/// Add warp pad receivers to this planet. These are the warp pads you are sent to from Ash Twin.
///
public NomaiWarpReceiverInfo[] warpReceivers;
///
/// Add warp pad transmitters to this planet. These are the warp pads seen on the Ash Twin.
///
public NomaiWarpTransmitterInfo[] warpTransmitters;
///
/// Add audio point sources to this planet. For audio across an entire area, look for AudioVolumes under the Volumes module.
///
public AudioSourceInfo[] audioSources;
///
/// Add a gravity cannon to this planet. Must be paired to a new shuttle, which can be placed on this planet or elsewhere.
///
public GravityCannonInfo[] gravityCannons;
///
/// Add a Nomai shuttle to this planet. Can be paired to a gravity cannon on this planet or elsewhere.
///
public ShuttleInfo[] shuttles;
///
/// Add campfires that allow you to enter the dream world/simulation. Must be paired with a dream arrival point, which can be placed on this planet or elsewhere.
///
public DreamCampfireInfo[] dreamCampfires;
///
/// Add the points you will arrive at when entering the dream world/simulation from a paired dream campfire, which can be placed on this planet or elsewhere. The planet with the arrival point should be statically positioned to avoid issues with the simulation view materials.
///
public DreamArrivalPointInfo[] dreamArrivalPoints;
[Obsolete("reveal is deprecated. Use Volumes->revealVolumes instead.")] public RevealVolumeInfo[] reveal;
[Obsolete("audioVolumes is deprecated. Use Volumes->audioVolumes instead.")] public AudioVolumeInfo[] audioVolumes;
}
}