@startuml abstract class Block { + {abstract} setupBlock() : void + {abstract} simulate() : void + getBlockData() : BlockData + SetBlockData(BD:BlockData) : void + setBlockId(id:string) : void + getBlockId() : string } MonoBehaviour <|-- Block @enduml