@startuml class mainComponent { } class blockSettings { } class PrefabCreatorSettings { + SavePath : string = "Assets/_Project/Prefabs" + Name : string = "Block" + IteratedNumbering : bool = false + Suffix : string = " vX" + OverwriteExisting : bool = false } class GrabInteractableSettings { + Test : string } class MechanicalBlockSettings { + Test : string } class AttachableBlockSettings { } class SocketContainerSettings { + Test : string } class ValidatorSettings { } class SocketPointSettings { + SocketRadius : float } class MiscSettings { } mainComponent --> "GInteract" MonoScript mainComponent --> "MBlock" MonoScript mainComponent --> "ABlock" MonoScript mainComponent --> "SContain" MonoScript mainComponent --> "PValidate" MonoScript mainComponent --> "SPoint" MonoScript mainComponent --> "CInit" MonoScript blockSettings --> "grabInteractable" GrabInteractableSettings blockSettings --> "mechanicalBlock" MechanicalBlockSettings blockSettings --> "attachableBlock" AttachableBlockSettings blockSettings --> "socketContainer" SocketContainerSettings blockSettings --> "validator" ValidatorSettings blockSettings --> "socketPoint" SocketPointSettings blockSettings --> "MiscellaneousSettings" MiscSettings ScriptableObject <|-- PrefabCreatorSettings PrefabCreatorSettings --> "MainComponents" mainComponent PrefabCreatorSettings --> "BlockSettings" blockSettings PrefabCreatorSettings --> "categoryData" CategoryData blockSettings +-- GrabInteractableSettings blockSettings +-- MechanicalBlockSettings blockSettings +-- AttachableBlockSettings AttachableBlockSettings --> "Type" BlockType blockSettings +-- SocketContainerSettings blockSettings +-- ValidatorSettings ValidatorSettings --> "CollisionLayerMask" LayerMask blockSettings +-- SocketPointSettings blockSettings +-- MiscSettings MiscSettings --> "BlockLayer" LayerMask @enduml