// 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;
}
}
}