using NewHorizons.External.Modules.SerializableData; using Newtonsoft.Json; using Newtonsoft.Json.Converters; using System; using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.Runtime.Serialization; namespace NewHorizons.External.Modules.TranslatorText { [JsonObject] public class NomaiTextArcInfo { [JsonConverter(typeof(StringEnumConverter))] public enum NomaiTextArcType { [EnumMember(Value = @"adult")] Adult = 0, [EnumMember(Value = @"child")] Child = 1, [EnumMember(Value = @"stranger")] Stranger = 2 } /// /// The type of text to display. /// [DefaultValue("adult")] public NomaiTextArcType type = NomaiTextArcType.Adult; /// /// The local position of this object on the wall. If specified, auto spiral will not touch this arc. /// public MVector2 position; /// /// The z euler angle for this arc. If specified, auto spiral will not touch this arc. /// [Range(0f, 360f)] public float? zRotation; /// /// Whether to flip the spiral from left-curling to right-curling or vice versa. If specified, auto spiral will not touch this arc. /// public bool? mirror; /// /// Which variation of the chosen type to place. If not specified, a random variation will be selected based on the seed provided in the parent module. /// [Obsolete("only used in old nomai text")] [DefaultValue(-1)] public int variation = -1; } }