using UnityEngine;
namespace BrainFailProductions.PolyFew.AsImpL
{
[System.Serializable]
///
/// Options to define how the model will be loaded and imported.
///
public class ImportOptions
{
/// Load the OBJ file assuming its vertical axis is Z instead of Y.
[Tooltip("load the OBJ file assuming its vertical axis is Z instead of Y")]
public bool zUp = true;
/// Consider diffuse map as already lit (disable lighting) if no other texture is present.
[Tooltip("Consider diffuse map as already lit (disable lighting) if no other texture is present")]
public bool litDiffuse = false;
/// Consider to double-sided (duplicate and flip faces and normals.
[Tooltip("Consider to double-sided (duplicate and flip faces and normals")]
public bool convertToDoubleSided = false;
/// Rescaling for the model (1 = no rescaling).
[Tooltip("Rescaling for the model (1 = no rescaling)")]
public float modelScaling = 1f;
/// Reuse a model in memory if already loaded.
[Tooltip("Reuse a model in memory if already loaded")]
public bool reuseLoaded = false;
/// Inherit parent layer.
[Tooltip("Inherit parent layer")]
public bool inheritLayer = false;
/// Generate mesh colliders.
[Tooltip("Generate mesh colliders")]
public bool buildColliders = false;
/// Generate convex mesh colliders (only active if buildColliders = true)\nNote: it could not work for meshes with too many smooth surface regions.
[Tooltip("Generate convex mesh colliders (only active if buildColliders = true)\nNote: it could not work for meshes with too many smooth surface regions.")]
public bool colliderConvex = false;
/// Mesh colliders as trigger (only active if colliderConvex = true).
[Tooltip("Mesh colliders as trigger (only active if colliderConvex = true)")]
public bool colliderTrigger = false;
#if !UNITY_2018_3_OR_NEWER
/// Mesh colliders inflated (only active if colliderConvex = true).
[Tooltip("Mesh colliders inflated (only active if colliderConvex = true)")]
public bool colliderInflate = false;
/// Mesh colliders inflation amount (only active if colliderInflate = true).
[Tooltip("Mesh colliders inflation amount (only active if colliderInflate = true)")]
public float colliderSkinWidth = 0.01f;
#endif
#if UNITY_2017_3_OR_NEWER
/// Use 32 bit indices when needed, if available.
[Tooltip("Use 32 bit indices when needed, if available")]
public bool use32bitIndices = true;
#endif
/// Hide the loaded object during the loading process.
[Tooltip("Hide the loaded object during the loading process")]
public bool hideWhileLoading = false;
/// Position of the object.
[Header("Local Transform for the imported game object")]
[Tooltip("Position of the object")]
public Vector3 localPosition = Vector3.zero;
/// Rotation of the object.
[Tooltip("Rotation of the object\n(Euler angles)")]
public Vector3 localEulerAngles = Vector3.zero;
/// Scaling of the object\n([1,1,1] = no rescaling).
[Tooltip("Scaling of the object\n([1,1,1] = no rescaling)")]
public Vector3 localScale = Vector3.one;
}
}