@startuml class ModelCheckManager { - {static} instance : ModelCheckManager + {static} getInstance() : ModelCheckManager - environment : Environment - blocksMap : BlocksMap - currentMap : BlocksMap - validNodes : long - invalidNodes : long - totalNodes : long + OnAllValidEvent : UnityEvent + OnValidNodeEvent : UnityEvent + OnInvalidNodeEvent : UnityEvent + newMapName : string = "NewBlocksMap" - debug : bool = false + setBlockMap(map:BlocksMap) : void - Start() : void + Initialize() : void - createBlockNode(blockData:BlockData, position:Vector3, rotation:Quaternion) : BlockNode - Awake() : void + addNode(node:BlockNode) : void + removeNode(blockName:string, position:Vector3) : void - tryMarkNode(node:BlockNode) : bool - matchRotation(node1:BlockNode, node2:BlockNode) : bool - debugisValid(node:BlockNode) : void } MonoBehaviour <|-- ModelCheckManager @enduml