using NewHorizons.External.SerializableData; using NewHorizons.External.SerializableEnums; using Newtonsoft.Json; using System.ComponentModel; namespace NewHorizons.External.Modules { [JsonObject] public class GameOverModule { /// /// Text displayed in orange on game over. For localization, put translations under UI. /// public string text; /// /// Change the colour of the game over text. Leave empty to use the default orange. /// public MColor colour; /// /// Condition that must be true for this game over to trigger. If this is on a LoadCreditsVolume, leave empty to always trigger this game over. /// Note this is a regular dialogue condition, not a persistent condition. /// public string condition; /// /// Path to the audio file to use as custom music for the credits. /// Note: only applies when creditsType is set to "custom". /// public string audio = string.Empty; // Explicitly declaring this for condition in NHGameOverManager /// /// The length of the fade in and out for the credits music. /// Note: only applies when creditsType is set to "custom". /// [DefaultValue(1f)] public float audioVolume = 1f; /// /// Determines if the credits music should loop. /// Note: only applies when creditsType is set to "custom". /// [DefaultValue(false)] public bool audioLooping = false; /// /// Duration of the credits scroll in seconds. /// Note: only applies when creditsType is set to "custom". /// [DefaultValue(120f)] public float length = 120f; /// /// The type of credits that will run after the game over message is shown /// [DefaultValue("fast")] public NHCreditsType creditsType = NHCreditsType.Fast; } }