@startuml class JointBlock { + TryPlaceJoint(targetSockets:List, isGhost:bool) : bool + CreatePhysicsJoint(targetObj:GameObject, socket:SocketPoint) : void + RemoveJoint() : void + GetJointType() : JointBlockType + GetSocketEnd1() : SocketPoint + GetSocketEnd2() : SocketPoint + IsPlaced() : bool } enum JointBlockType { FixedPivot, HingePivot, ConfigurablePivot, } class "List`1" { } MonoBehaviour <|-- JointBlock JointBlock o-> "connectedBlocks" "List`1" @enduml