diff --git a/NewHorizons/Builder/Props/ProjectionBuilder.cs b/NewHorizons/Builder/Props/ProjectionBuilder.cs index 9305e54e..98378181 100644 --- a/NewHorizons/Builder/Props/ProjectionBuilder.cs +++ b/NewHorizons/Builder/Props/ProjectionBuilder.cs @@ -335,7 +335,7 @@ namespace NewHorizons.Builder.Props private static void AddModules(SlideInfo slideInfo, ref Slide slide, IModBehaviour mod) { var modules = new List(); - if (!String.IsNullOrEmpty(slideInfo.beatAudio)) + if (!string.IsNullOrEmpty(slideInfo.beatAudio)) { var audioBeat = new SlideBeatAudioModule { @@ -344,7 +344,7 @@ namespace NewHorizons.Builder.Props }; modules.Add(audioBeat); } - if (!String.IsNullOrEmpty(slideInfo.backdropAudio)) + if (!string.IsNullOrEmpty(slideInfo.backdropAudio)) { var audioBackdrop = new SlideBackdropAudioModule { @@ -353,13 +353,13 @@ namespace NewHorizons.Builder.Props }; modules.Add(audioBackdrop); } - if (slideInfo.ambientLightIntensity > 0) + if (slideInfo.ambientLightIntensity != 0) { var ambientLight = new SlideAmbientLightModule { _intensity = slideInfo.ambientLightIntensity, _range = slideInfo.ambientLightRange, - _color = slideInfo.ambientLightColor.ToColor(), + _color = slideInfo.ambientLightColor?.ToColor() ?? Color.white, _spotIntensityMod = slideInfo.spotIntensityMod }; modules.Add(ambientLight); @@ -380,7 +380,7 @@ namespace NewHorizons.Builder.Props }; modules.Add(blackFrame); } - if (!String.IsNullOrEmpty(slideInfo.reveal)) + if (!string.IsNullOrEmpty(slideInfo.reveal)) { var shipLogEntry = new SlideShipLogEntryModule { diff --git a/NewHorizons/External/Modules/Props/EchoesOfTheEye/SlideInfo.cs b/NewHorizons/External/Modules/Props/EchoesOfTheEye/SlideInfo.cs index bfe34b25..26b6053d 100644 --- a/NewHorizons/External/Modules/Props/EchoesOfTheEye/SlideInfo.cs +++ b/NewHorizons/External/Modules/Props/EchoesOfTheEye/SlideInfo.cs @@ -1,5 +1,6 @@ using NewHorizons.External.SerializableData; using Newtonsoft.Json; +using System.ComponentModel; namespace NewHorizons.External.Modules.Props.EchoesOfTheEye { @@ -14,67 +15,73 @@ namespace NewHorizons.External.Modules.Props.EchoesOfTheEye // SlideAmbientLightModule /// - /// Ambient light intensity when viewing this slide. (Base game default: 1) + /// Ambient light intensity when viewing this slide. + /// Set this to add ambient light module. Base game default is 1. /// public float ambientLightIntensity; /// - /// Ambient light range when viewing this slide. (Base game default: 20) + /// Ambient light range when viewing this slide. /// - public float ambientLightRange; + [DefaultValue(20f)] public float ambientLightRange = 20f; /// - /// Ambient light colour when viewing this slide. (Base game default: white) + /// Ambient light colour when viewing this slide. Defaults to white. /// public MColor ambientLightColor; /// - /// Spotlight intensity modifier when viewing this slide. (Base game default: 0) + /// Spotlight intensity modifier when viewing this slide. /// - public float spotIntensityMod; + [DefaultValue(0f)] public float spotIntensityMod = 0f; // SlideBackdropAudioModule /// - /// The name of the AudioClip that will continuously play while watching these slides (Base game default: Reel_1_Backdrop_A) + /// The name of the AudioClip that will continuously loop while watching these slides. + /// Set this to include backdrop audio module. Base game default is Reel_1_Backdrop_A. /// public string backdropAudio; /// - /// The time to fade into the backdrop audio (Base game default: 2) + /// The time to fade into the backdrop audio. /// - public float backdropFadeTime; + [DefaultValue(2f)] public float backdropFadeTime = 2f; // SlideBeatAudioModule /// - /// The name of the AudioClip for a one-shot sound when opening the slide. (Base game default: Reel_1_Beat_A) + /// The name of the AudioClip for a one-shot sound when opening the slide. + /// Set this to include beat audio module. Base game default is Reel_1_Beat_A. /// public string beatAudio; /// - /// The time delay until the one-shot audio (Base game default: 0) + /// The time delay until the one-shot audio. /// - public float beatDelay; + [DefaultValue(0f)] public float beatDelay = 0f; // SlideBlackFrameModule /// - /// Before viewing this slide, there will be a black frame for this many seconds. (Base game default: 0) + /// Before viewing this slide, there will be a black frame for this many seconds. + /// Set this to include black frame module. Base game default is 0. /// public float blackFrameDuration; // SlidePlayTimeModule /// - /// Play-time duration for auto-projector slides. (Base game default: 0) + /// Play-time duration for auto-projector slides. + /// Set this to include play time module. Base game default is 0. /// public float playTimeDuration; // SlideShipLogEntryModule /// - /// Ship log fact revealed when viewing this slide (Base game default: "") + /// Ship log fact revealed when viewing this slide. + /// Set this to include ship log entry module. Base game default is "". /// public string reveal; }