// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 namespace GLTFast.Schema { /// /// glTF root extensions /// [System.Serializable] public class RootExtensions { /// // ReSharper disable once InconsistentNaming public LightsPunctual KHR_lights_punctual; /// // ReSharper disable once InconsistentNaming public MaterialsVariantsRootExtension KHR_materials_variants; internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); if (KHR_lights_punctual != null) { writer.AddProperty("KHR_lights_punctual"); KHR_lights_punctual.GltfSerialize(writer); } if (KHR_materials_variants != null) { writer.AddProperty("KHR_materials_variants"); KHR_materials_variants.GltfSerialize(writer); } writer.Close(); } /// /// Cleans up invalid parsing artifacts created by . /// /// True if element itself still holds value. False if it can be safely removed. public virtual bool JsonUtilityCleanup() { if (KHR_lights_punctual != null && !KHR_lights_punctual.JsonUtilityCleanup()) { KHR_lights_punctual = null; } if (KHR_materials_variants != null && !KHR_materials_variants.JsonUtilityCleanup()) { KHR_materials_variants = null; } return KHR_lights_punctual != null || KHR_materials_variants != null; } } }