mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-04-19 13:59:22 -04:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
40 lines
1013 B
C#
40 lines
1013 B
C#
using Sandbox;
|
|
|
|
namespace Editor;
|
|
|
|
public class HullColliderTool : EditorTool<HullCollider>
|
|
{
|
|
private IDisposable _componentUndoScope;
|
|
|
|
public override void OnUpdate()
|
|
{
|
|
var hullCollider = GetSelectedComponent<HullCollider>();
|
|
if ( hullCollider == null )
|
|
return;
|
|
|
|
if ( hullCollider.Type == HullCollider.PrimitiveType.Box )
|
|
{
|
|
var currentBox = BBox.FromPositionAndSize( hullCollider.Center, hullCollider.BoxSize );
|
|
|
|
using ( Gizmo.Scope( "Hull Collider Editor", hullCollider.WorldTransform ) )
|
|
{
|
|
if ( Gizmo.Control.BoundingBox( "Bounds", currentBox, out var newBox ) )
|
|
{
|
|
if ( Gizmo.WasLeftMousePressed )
|
|
{
|
|
_componentUndoScope = SceneEditorSession.Active.UndoScope( "Resize Hull Collider" ).WithComponentChanges( hullCollider ).Push();
|
|
}
|
|
hullCollider.Center = newBox.Center;
|
|
hullCollider.BoxSize = newBox.Size;
|
|
}
|
|
|
|
if ( Gizmo.WasLeftMouseReleased )
|
|
{
|
|
_componentUndoScope?.Dispose();
|
|
_componentUndoScope = null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|