Editor/RoadToolWindow/RoadToolWindow.cs
using System;
using System.Collections.Generic;
using Sandbox;
using Editor;
namespace RedSnail.RoadTool.Editor;
public partial class RoadToolWindow : WidgetWindow
{
private RoadComponent _targetComponent;
private static bool _isClosed;
private ControlWidget _inTangentControl;
private ControlWidget _outTangentControl;
private bool _inTangentSelected;
private bool _outTangentSelected;
private bool _draggingOutNewPoint;
private bool _moveInProgress;
private List<Vector3> _polyLine = [];
private IDisposable _movementUndoScope;
public RoadToolWindow()
{
ContentMargins = 0;
Layout = Layout.Column();
MaximumWidth = 500;
MinimumWidth = 300;
Rebuild();
}
public void OnDisabled()
{
}
public void OnUpdate()
{
if (!_targetComponent.IsValid())
return;
DrawGizmos();
}
public void OnSelectionChanged(RoadComponent _Spline)
{
_targetComponent = _Spline;
Rebuild();
}
}