┌────────────────┐ │UECDataComponent│ ├────────────────┤ └────────────────┘ ┌────────────────────────────────────────────────────────────────────┐ │UUMBECCubeDataComponent │ ├────────────────────────────────────────────────────────────────────┤ │-_bEditableBreadth : bool │ │-_bEditableHeight : bool │ │-_bEditableLength : bool │ │-_breadth: float │ ┌───────────────────────────────────────────┐ │-_elevation: float │ │UMBECMaterialDataComponent │ ┌───────────────────────────────────────┐ ┌──────────────────────────────────────┐ │-_height: float │ ├───────────────────────────────────────────┤ │UMBECSelectibleDataComponent │ │UMBECEntityTypeDataComponent │ │-_length: float │ │-_defaultMaterial : UMaterial* │ ├───────────────────────────────────────┤ ├──────────────────────────────────────┤ │-_minBreadth: float │ │-_selectedMaterial : UMaterial* │ │-_bSelectible : bool │ │+EEntityType GetEntityType(); │ │-_minHeight: float │ │-_hoverMaterial : UMaterial* │ │-_bSelected : bool │ │+void SetEntityType(EEntityType type);│ │-_minLength: float │ │+UMBECMaterialDataComponent(); │ │+IsSelectible() : bool │ │-EEntityType _type; │ │+UUMBECCubeDataComponent() │ │+UMaterial* GetMaterial(); │ │+IsSelected() : bool │ └──────────────────────────────────────┘ │+SetMins(float minLength, float minBreadth, float minHeight) : bool │ │+UMaterial* GetSelectedMaterial(); │ │+SetSelectible(bool bSelectible) : void│ │+SetEditable(EEntityDimension dim, bool value) : bool │ │+UMaterial* GetHoverMaterial(); │ │+Select() : void │ │+SetValues(float Length, float Breadth, float Height) : bool │ │+void SetMaterial(UMaterial * newMaterial);│ └───────────────────────────────────────┘ │+SetElevation(float elevation) : bool │ └───────────────────────────────────────────┘ │+GetLength() : float │ │+GetBreadth() : float │ │+GetHeight() : float │ │+GetElevation() : float │ │#_setLogicalValue(float target, float minData) : float │ └────────────────────────────────────────────────────────────────────┘