using System; using Robust.Shared.Maths; using Robust.Shared.Serialization; namespace Robust.Shared.Physics { /// /// A primitive physical shape that is used by a . /// public interface IPhysShape { /// /// Raised when any of the parameters on this physics shape change. /// event Action OnDataChanged; /// /// Calculates the AABB of the shape. /// /// /// Box2 CalculateLocalBounds(Angle rotation); /// /// Bitmask of the collision layers the component is a part of. /// int CollisionLayer { get; set; } /// /// Bitmask of the layers this component collides with. /// int CollisionMask { get; set; } void ApplyState(); void DebugDraw(DebugDrawingHandle handle, in Matrix3 modelMatrix, in Box2 worldViewport, float sleepPercent); } /// /// Tag type for defining the representation of the collision layer bitmask /// in terms of readable names in the content. To understand more about the /// point of this type, see the . /// public sealed class CollisionLayer {} /// /// Tag type for defining the representation of the collision mask bitmask /// in terms of readable names in the content. To understand more about the /// point of this type, see the . /// public sealed class CollisionMask {} }