Initial commit
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
@startuml
|
||||
class BlockNode {
|
||||
+ blockData : BlockData
|
||||
+ position : Vector3
|
||||
+ rotation : Quaternion
|
||||
+ matchedNode : BlockNode
|
||||
+ BlockNode(blockData:BlockData, position:Vector3, rotation:Quaternion)
|
||||
}
|
||||
@enduml
|
||||
@@ -0,0 +1,7 @@
|
||||
@startuml
|
||||
class BlocksGraph {
|
||||
- graph : Dictionary<BlockNode, List<BlockNode>>
|
||||
- root : BlockNode
|
||||
}
|
||||
ScriptableObject <|-- BlocksGraph
|
||||
@enduml
|
||||
@@ -0,0 +1,15 @@
|
||||
@startuml
|
||||
class BlocksMap {
|
||||
+ blocks : Dictionary<string, Dictionary<Vector3, BlockNode>>
|
||||
+ allNodes : List<BlockNode>
|
||||
+ rootNode : BlockNode
|
||||
+ calcTotalNodes() : long
|
||||
+ init(blocksMap:BlocksMap) : void
|
||||
- OnEnable() : void
|
||||
- RebuildDictionary() : void
|
||||
+ setRootNode(node:BlockNode) : void
|
||||
+ {static} RoundPosition(position:Vector3, precision:float) : Vector3
|
||||
+ {static} RoundRotation(rotation:Quaternion, precision:float) : Quaternion
|
||||
}
|
||||
ScriptableObject <|-- BlocksMap
|
||||
@enduml
|
||||
@@ -0,0 +1,28 @@
|
||||
@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
|
||||
Reference in New Issue
Block a user