/// <summary> /// Construct a PluginReferenceDescriptor from a Json object /// </summary> /// <param name="Writer">The writer for output fields</param> public void Write(JsonWriter Writer) { Writer.WriteObjectStart(); Writer.WriteValue("Name", Name); Writer.WriteValue("Enabled", bEnabled); if (bEnabled && bOptional) { Writer.WriteValue("Optional", bOptional); } if (!String.IsNullOrEmpty(Description)) { Writer.WriteValue("Description", Description); } if (!String.IsNullOrEmpty(MarketplaceURL)) { Writer.WriteValue("MarketplaceURL", MarketplaceURL); } if (WhitelistPlatforms != null && WhitelistPlatforms.Length > 0) { Writer.WriteEnumArrayField("WhitelistPlatforms", WhitelistPlatforms); } if (BlacklistPlatforms != null && BlacklistPlatforms.Length > 0) { Writer.WriteEnumArrayField("BlacklistPlatforms", BlacklistPlatforms); } if (WhitelistTargets != null && WhitelistTargets.Length > 0) { Writer.WriteEnumArrayField("WhitelistTargets", WhitelistTargets); } if (BlacklistTargets != null && BlacklistTargets.Length > 0) { Writer.WriteEnumArrayField("BlacklistTargets", BlacklistTargets); } Writer.WriteObjectEnd(); }
/// <summary> /// Construct a PluginReferenceDescriptor from a Json object /// </summary> /// <param name="Writer">The writer for output fields</param> public void Write(JsonWriter Writer) { Writer.WriteObjectStart(); Writer.WriteValue("Name", Name); Writer.WriteValue("Enabled", bEnabled); if (bEnabled && bOptional) { Writer.WriteValue("Optional", bOptional); } if (!String.IsNullOrEmpty(Description)) { Writer.WriteValue("Description", Description); } if (!String.IsNullOrEmpty(MarketplaceURL)) { Writer.WriteValue("MarketplaceURL", MarketplaceURL); } if (WhitelistPlatforms != null && WhitelistPlatforms.Count > 0) { Writer.WriteStringArrayField("WhitelistPlatforms", WhitelistPlatforms.Select(x => x.ToString()).ToArray()); } if (BlacklistPlatforms != null && BlacklistPlatforms.Count > 0) { Writer.WriteStringArrayField("BlacklistPlatforms", BlacklistPlatforms.Select(x => x.ToString()).ToArray()); } if (WhitelistTargetConfigurations != null && WhitelistTargetConfigurations.Length > 0) { Writer.WriteEnumArrayField("WhitelistTargetConfigurations", WhitelistTargetConfigurations); } if (BlacklistTargetConfigurations != null && BlacklistTargetConfigurations.Length > 0) { Writer.WriteEnumArrayField("BlacklistTargetConfigurations", BlacklistTargetConfigurations); } if (WhitelistTargets != null && WhitelistTargets.Length > 0) { Writer.WriteEnumArrayField("WhitelistTargets", WhitelistTargets); } if (BlacklistTargets != null && BlacklistTargets.Length > 0) { Writer.WriteEnumArrayField("BlacklistTargets", BlacklistTargets); } if (SupportedTargetPlatforms != null && SupportedTargetPlatforms.Count > 0) { Writer.WriteStringArrayField("SupportedTargetPlatforms", SupportedTargetPlatforms.Select(x => x.ToString()).ToArray()); } Writer.WriteObjectEnd(); }
/// <summary> /// Writes the plugin descriptor to an existing Json writer /// </summary> /// <param name="Writer">The writer to receive plugin data</param> public void Write(JsonWriter Writer) { Writer.WriteValue("FileVersion", (int)ProjectDescriptorVersion.Latest); Writer.WriteValue("Version", Version); Writer.WriteValue("VersionName", VersionName); Writer.WriteValue("FriendlyName", FriendlyName); Writer.WriteValue("Description", Description); Writer.WriteValue("Category", Category); Writer.WriteValue("CreatedBy", CreatedBy); Writer.WriteValue("CreatedByURL", CreatedByURL); Writer.WriteValue("DocsURL", DocsURL); Writer.WriteValue("MarketplaceURL", MarketplaceURL); Writer.WriteValue("SupportURL", SupportURL); if (!String.IsNullOrEmpty(EngineVersion)) { Writer.WriteValue("EngineVersion", EngineVersion); } if (bEnabledByDefault.HasValue) { Writer.WriteValue("EnabledByDefault", bEnabledByDefault.Value); } Writer.WriteValue("CanContainContent", bCanContainContent); if (bIsBetaVersion) { Writer.WriteValue("IsBetaVersion", bIsBetaVersion); } if (bInstalled) { Writer.WriteValue("Installed", bInstalled); } if (bRequiresBuildPlatform) { Writer.WriteValue("RequiresBuildPlatform", bRequiresBuildPlatform); } if (SupportedTargetPlatforms != null && SupportedTargetPlatforms.Length > 0) { Writer.WriteEnumArrayField <UnrealTargetPlatform>("SupportedTargetPlatforms", SupportedTargetPlatforms); } ModuleDescriptor.WriteArray(Writer, "Modules", Modules); LocalizationTargetDescriptor.WriteArray(Writer, "LocalizationTargets", LocalizationTargets); if (PreBuildSteps != null) { PreBuildSteps.Write(Writer, "PreBuildSteps"); } if (PostBuildSteps != null) { PostBuildSteps.Write(Writer, "PostBuildSteps"); } PluginReferenceDescriptor.WriteArray(Writer, "Plugins", Plugins); }