// 27 Slicer
// Copyright 2021 Deftly Games
// https://slicer.deftly.games/
using UnityEditor;
using UnityEngine;
namespace Slicer.Core
{
///
/// This ScriptableObject is used to save export configurations to file.
///
public sealed class SlicerExportConfiguration : ScriptableObject
{
///
/// The default value of .
///
public const string ExportPathPatternDefault = @"{meshAssetFilePath}\{meshAssetFileName}_{meshName}_{sliceType}.{ext}";
///
/// The string pattern to use to determine output file of the exported mesh asset.
///
/// The default value for this setting is set by .
public string ExportPathPattern = ExportPathPatternDefault;
///
/// The default value of .
///
public const bool RecursivelySearchDefault = false;
///
/// Should the exporter recursively search for sliced models to export.
///
/// The default value for this setting is set by .
public bool RecursivelySearch = RecursivelySearchDefault;
///
/// The default value of .
///
public const bool FinalizeSlicesDefault = false;
///
/// Should the exporter recursively search for sliced models to export.
///
/// The default value for this setting is set by .
public bool FinalizeSlices = FinalizeSlicesDefault;
///
/// The default value of .
///
public const bool SaveProjectAfterExportDefault = true;
///
/// Should the exporter save the project after it has completed exporting.
///
/// The default value for this setting is set by .
public bool SaveProjectAfterExport = SaveProjectAfterExportDefault;
///
/// The default value of .
///
public const bool SaveAsNewAssetDefault = true;
///
/// Should the exporter instantiate the mesh as a new asset when exporting.
///
/// The default value for this setting is set by .
public bool SaveAsNewAsset = SaveAsNewAssetDefault;
///
/// The default value of .
///
public const bool ExportSlicedMeshDefault = true;
///
/// Should meshes be exported.
///
/// The default value for this setting is set by .
public bool ExportSlicedMesh = ExportSlicedMeshDefault;
///
/// The default value of .
///
public const bool ExportSlicedCollidersDefault = true;
///
/// Should colliders be exported.
///
/// The default value for this setting is set by .
public bool ExportSlicedColliders = ExportSlicedCollidersDefault;
///
/// The default value of .
///
public const bool OptimizeExportedMeshDefault = true;
///
/// Should the exported mesh be optimized.
///
/// The default value for this setting is set by .
public bool OptimizeExportedMesh = OptimizeExportedMeshDefault;
///
/// The default value of .
///
public const bool InheritMeshCompressionSettingsDefault = true;
///
/// Should the Compression Settings from the original mesh be transfered to the exported mesh.
///
/// The default value for this setting is set by .
public bool InheritMeshCompressionSettings = InheritMeshCompressionSettingsDefault;
///
/// The default value of .
///
public const ModelImporterMeshCompression ExportedMeshCompressionDefault = ModelImporterMeshCompression.Off;
///
/// The compression setting for exported mesh.
///
/// This setting is active only when is set to `false`
///
/// The default value for this setting is set by .
public ModelImporterMeshCompression ExportedMeshCompression = ExportedMeshCompressionDefault;
}
}