using System.Collections.Generic;
using GLTF.Schema;
using UnityEngine;
namespace Needle.Engine.Gltf
{
///
/// Implement to receive gltf export callbacks
///
public interface IGltfExtensionHandler
{
void OnBeforeExport(GltfExportContext context);
bool OnBeforeNodeExport(GltfExportContext context, Transform transform);
// void OnBeforeNodeExport(GltfExportContext context, Transform transform);
void OnAfterNodeExport(GltfExportContext context, Transform transform, int nodeId);
void OnAfterExport(GltfExportContext context);
void OnBeforeMaterialExport(GltfExportContext context, Material material, int materialId);
void OnAfterMaterialExport(GltfExportContext context, Material material, int materialId);
void OnBeforeTextureExport(GltfExportContext context, ref TextureExportSettings settings, string textureSlot);
void OnAfterTextureExport(GltfExportContext context, int id, TextureExportSettings settings);
///
/// Callback when serializing a mesh
///
///
///
/// Add an instance of the extension to be added to the primitive
void OnAfterPrimitiveExport(GltfExportContext context, Mesh mesh, List