37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
@startuml
|
|
class JointBlock {
|
|
- jointType : JointBlockType
|
|
- jointLength : float = 1f
|
|
- socketEnd1 : SocketPoint
|
|
- socketEnd2 : SocketPoint
|
|
- usePhysics : bool = true
|
|
- jointBreakForce : float
|
|
- jointBreakTorque : float
|
|
+ connectedBlocks : List<AttachableBlock>
|
|
- createdJoints : List<Joint>
|
|
- isPlaced : bool = false
|
|
- jointPlacementHandler : JointPlacementHandler
|
|
- Awake() : void
|
|
+ TryPlaceJoint(targetSockets:List<SocketPoint>, isGhost:bool) : bool
|
|
- AlignToSockets(targetSockets:List<SocketPoint>, isGhost:bool) : void
|
|
+ CreatePhysicsJoint(targetObj:GameObject, socket:SocketPoint) : void
|
|
- CreatePhysicsJoints(targetSockets:List<SocketPoint>) : void
|
|
- CreateJointByType(connectedBody:Rigidbody, socket:SocketPoint) : Joint
|
|
- CreateFixedJoint(connectedBody:Rigidbody) : FixedJoint
|
|
- CreateHingeJoint(connectedBody:Rigidbody, socket:SocketPoint) : HingeJoint
|
|
- CreateConfigurableJoint(connectedBody:Rigidbody, socket:SocketPoint) : ConfigurableJoint
|
|
- MarkSocketsOccupied(targetSockets:List<SocketPoint>) : void
|
|
+ RemoveJoint() : void
|
|
+ GetJointType() : JointBlockType
|
|
+ GetSocketEnd1() : SocketPoint
|
|
+ GetSocketEnd2() : SocketPoint
|
|
+ IsPlaced() : bool
|
|
}
|
|
enum JointBlockType {
|
|
FixedPivot,
|
|
HingePivot,
|
|
ConfigurablePivot,
|
|
}
|
|
MonoBehaviour <|-- JointBlock
|
|
@enduml
|