mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
108 lines
3.1 KiB
C#
108 lines
3.1 KiB
C#
using System.ComponentModel;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace NewHorizons.External.Props
|
|
{
|
|
[JsonObject]
|
|
public class RemoteInfo
|
|
{
|
|
/// <summary>
|
|
/// The unique remote id
|
|
/// </summary>
|
|
public string id;
|
|
|
|
/// <summary>
|
|
/// Icon that the will show on the stone, pedastal of the whiteboard, and pedastal of the platform.
|
|
/// </summary>
|
|
public string decalPath;
|
|
|
|
/// <summary>
|
|
/// Whiteboard that the stones can put text onto
|
|
/// </summary>
|
|
public WhiteboardInfo whiteboard;
|
|
|
|
/// <summary>
|
|
/// Camera platform that the stones can project to and from
|
|
/// </summary>
|
|
public PlatformInfo platform;
|
|
|
|
/// <summary>
|
|
/// Projection stones
|
|
/// </summary>
|
|
public StoneInfo[] stones;
|
|
|
|
[JsonObject]
|
|
public class WhiteboardInfo : GeneralPropInfo
|
|
{
|
|
/// <summary>
|
|
/// The text for each stone
|
|
/// </summary>
|
|
public SharedNomaiTextInfo[] nomaiText;
|
|
|
|
/// <summary>
|
|
/// Disable the wall, leaving only the pedestal and text.
|
|
/// </summary>
|
|
public bool disableWall;
|
|
|
|
[JsonObject]
|
|
public class SharedNomaiTextInfo
|
|
{
|
|
/// <summary>
|
|
/// The id of the stone this text will appear for
|
|
/// </summary>
|
|
public string id;
|
|
|
|
/// <summary>
|
|
/// Additional information about each arc in the text
|
|
/// </summary>
|
|
public NomaiTextArcInfo[] arcInfo;
|
|
|
|
/// <summary>
|
|
/// The random seed used to pick what the text arcs will look like.
|
|
/// </summary>
|
|
public int seed; // For randomizing arcs
|
|
|
|
/// <summary>
|
|
/// The location of this object.
|
|
/// </summary>
|
|
[DefaultValue("unspecified")] public NomaiTextInfo.NomaiTextLocation location = NomaiTextInfo.NomaiTextLocation.UNSPECIFIED;
|
|
|
|
/// <summary>
|
|
/// The relative path to the xml file for this object.
|
|
/// </summary>
|
|
public string xmlFile;
|
|
|
|
/// <summary>
|
|
/// An optional rename of this object
|
|
/// </summary>
|
|
public string rename;
|
|
}
|
|
}
|
|
|
|
[JsonObject]
|
|
public class PlatformInfo : GeneralPropInfo
|
|
{
|
|
/// <summary>
|
|
/// A ship log fact to reveal when the platform is connected to.
|
|
/// </summary>
|
|
[DefaultValue("")] public string reveals = "";
|
|
|
|
/// <summary>
|
|
/// Disable the structure, leaving only the pedestal.
|
|
/// </summary>
|
|
public bool disableStructure;
|
|
|
|
/// <summary>
|
|
/// Disable the pool that rises when you place a stone.
|
|
/// </summary>
|
|
public bool disablePool;
|
|
}
|
|
|
|
[JsonObject]
|
|
public class StoneInfo : GeneralPropInfo
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|