Files
Cielonos/Assets/OtherPlugins/EasyColliderEditor/Scripts/EasyColliderProperties.cs
SoulliesOfficial ef7b479712 initial
2025-11-25 08:19:33 -05:00

101 lines
2.7 KiB
C#

using UnityEngine;
namespace ECE
{
/// <summary>
/// Properties to use when creating a collider.
/// </summary>
public struct EasyColliderProperties
{
/// <summary>
/// Marks the collider's isTrigger property
/// </summary>
public bool IsTrigger;
/// <summary>
/// Layer of gameobject when creating a rotated collider.
/// </summary>
public int Layer;
#if (UNITY_6000_0_OR_NEWER)
/// <summary>
/// Physic material to set on collider.
/// </summary>
public PhysicsMaterial PhysicMaterial;
#else
/// <summary>
/// Physic material to set on collider.
/// </summary>
public PhysicMaterial PhysicMaterial;
public void SetPhysicMat(PhysicMaterial physmat)
{
PhysicMaterial = physmat;
}
#endif
#if (UNITY_2022_2_OR_NEWER)
/// <summary>
/// whether or not the collidere generates contacts for physics.contact event.
/// </summary>
public bool ProvidesContacts;
/// <summary>
/// layer overrides - layer override priority property on a collider.
/// </summary>
public int LayerOverridePriority;
/// <summary>
/// layer overrides exclude layer mask property on colliders.
/// </summary>
public LayerMask ExcludeLayers;
/// <summary>
/// layer overrides include layer mask property on colliders.
/// </summary>
public LayerMask IncludeLayers;
#endif
/// <summary>
/// Orientation of created collider.
/// </summary>
public COLLIDER_ORIENTATION Orientation;
/// <summary>
/// Gameobject collider gets added to.
/// </summary>
public GameObject AttachTo;
/// <summary>
/// Properties with which to create a collider
/// </summary>
/// <param name="isTrigger">Should the collider's isTrigger property be true?</param>
/// <param name="layer">Layer of gameobject when creating a rotated collider</param>
/// <param name="physicMaterial">Physic Material to apply to a collider</param>
/// <param name="attachTo">GameObject to attach the collider to</param>
/// <param name="orientation">Orientation of the collider for generation</param>
public EasyColliderProperties(bool isTrigger, int layer,
#if (UNITY_6000_0_OR_NEWER)
PhysicsMaterial physicMaterial,
#else
PhysicMaterial physicMaterial,
#endif
GameObject attachTo, COLLIDER_ORIENTATION orientation = COLLIDER_ORIENTATION.NORMAL)
{
IsTrigger = isTrigger;
Layer = layer;
PhysicMaterial = physicMaterial;
AttachTo = attachTo;
Orientation = orientation;
#if (UNITY_2022_2_OR_NEWER)
ProvidesContacts = false;
LayerOverridePriority = 0;
IncludeLayers = 0;
ExcludeLayers = 0;
#endif
}
}
}