25 lines
737 B
Plaintext
25 lines
737 B
Plaintext
@startuml
|
|
class AxisRotateStrategy {
|
|
+ OverridesSurfaceTracking : bool <<get>>
|
|
- <<readonly>> _localAxis : LocalAxis
|
|
- <<readonly>> _lockedPosition : Vector3
|
|
- _isRotating : bool
|
|
- _pendingDegrees : float
|
|
- _lastMousePos : Vector2
|
|
+ Sensitivity : float = 0.4f
|
|
+ AxisRotateStrategy(localAxis:LocalAxis, lockedPosition:Vector3)
|
|
+ BeginRotate() : void
|
|
+ EndRotate() : void
|
|
+ UpdateMovement(ctx:GhostMovementContext) : void
|
|
- GetWorldAxis(t:Transform) : Vector3
|
|
- {static} SnapToNearestRightAngle(q:Quaternion) : Quaternion
|
|
}
|
|
enum LocalAxis {
|
|
Up,
|
|
Forward,
|
|
Right,
|
|
}
|
|
IGhostMovementStrategy <|-- AxisRotateStrategy
|
|
AxisRotateStrategy +-- LocalAxis
|
|
@enduml
|