@startuml class GhostStrategyTester { + TestTarget : GameObject + ClampMin : float + ClampMax : float = 5f + RotateSensitivity : float = 0.4f - _mode : Mode - _moveStrat : AxisMoveStrategy - _rotStrat : AxisRotateStrategy - _isEditing : bool - _buttonHeld : bool - _activeAxisIndex : int - _lastMouseX : float - _editingOrigin : Vector3 - {static} <> AxisColors : Color[] - {static} <> AxisLabels : string[] - {static} <> LocalMoveAxes : Vector3[] - {static} <> RotateAxes : AxisRotateStrategy.LocalAxis[] - <> BtnW : float = 96f - <> BtnH : float = 36f - <> PadX : float = 12f - <> PadY : float = 8f - Start() : void - OnGUI() : void - DrawAxisButton(i:int, rect:Rect) : void - OnAxisButtonDown(axisIndex:int) : void - OnAxisButtonUp() : void - EnsureEditing() : void - CommitEdit() : void - StopEditing() : void - ResetState() : void - DrawModeButton(label:string, target:Mode, rect:Rect) : void } enum Mode { None, AxisMove, AxisRotate, } MonoBehaviour <|-- GhostStrategyTester GhostStrategyTester +-- Mode @enduml