Files
2026-07-21 08:56:10 +03:00

45 lines
1.3 KiB
Plaintext

@startuml
class SocketPoint {
- socketType : SocketType
- socketRadius : float = 0.1f
- socketNormal : Vector3
- acceptableTypes : List<SocketType>
- radiusTolerance : float = 0.05f
- visualIndicator : GameObject
- defaultColor : Color
- activeColor : Color
- compatibleColor : Color
- incompatibleColor : Color
- canHoldJoint : bool = false
- occupyingObject : GameObject
- isOccupied : bool = false
- holdedJoint : GameObject
- isJointOccupied : bool = false
- CanAccept(otherSocket:ISocket) : bool
+ CanAccept(otherSocket:ISocket, isJoint:bool) : bool
+ GetNormal() : Vector3
+ Highlight(state:HighlightState) : void
- Update() : void
+ GetTransform() : Transform
+ GetSocketType() : SocketType
+ GetSocketRadius() : float
+ SetSocketRadius(radius:float) : void
+ IsOccupied() : bool
+ IsJointOccupied() : bool
+ GetOccupyingObject() : GameObject
+ GetJointObject() : GameObject
+ SetOccupied(obj:GameObject) : void
+ SetJointOccupied(jointObject:GameObject) : void
+ ReleaseJoint() : void
+ Release() : void
}
enum HighlightState {
Default,
Active,
Compatible,
Incompatible,
}
MonoBehaviour <|-- SocketPoint
ISocket <|-- SocketPoint
@enduml