Files
sbox-public/engine/Sandbox.Engine/Scene/Components/Collider/Collider.Flags.cs
s&box team 71f266059a Open source release
This commit imports the C# engine code and game files, excluding C++ source code.

[Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
2025-11-24 09:05:18 +00:00

47 lines
884 B
C#

namespace Sandbox;
public abstract partial class Collider
{
ColliderFlags _flags;
/// <summary>
/// Flags that modify the behavior of this collider
/// </summary>
[Property]
public ColliderFlags ColliderFlags
{
get => _flags;
set
{
if ( _flags == value )
return;
_flags = value;
ApplyColliderFlags();
}
}
void ApplyColliderFlags()
{
foreach ( var shape in Shapes )
{
shape.native.SetIgnoreTraces( ColliderFlags.Contains( ColliderFlags.IgnoreTraces ) );
shape.native.SetHasNoMass( ColliderFlags.Contains( ColliderFlags.IgnoreMass ) );
}
}
}
[Expose, Flags]
public enum ColliderFlags
{
/// <summary>
/// Traces can never see this collider, no matter what happens
/// </summary>
IgnoreTraces = 1 << 0,
/// <summary>
/// Collider has no mass, won't affect physics objects it collides with
/// </summary>
IgnoreMass = 1 << 1,
}