11#ifndef minimalDifference_h
22#define minimalDifference_h
33
4- #include " block/blockDefs.h"
54#include " ../position/position.h"
5+ #include " block/blockDefs.h"
66#include " difference.h"
77
88class MinimalDifference {
@@ -32,13 +32,18 @@ class MinimalDifference {
3232 break ;
3333 case Difference::MOVE_BLOCK:
3434 moveModification = std::get<Difference::move_modification_t >(modification.second );
35- addMovedBlock (std::get<0 >(moveModification), std::get<1 >(moveModification), std::get<2 >(moveModification), std::get<3 >(moveModification), std::get<4 >(moveModification));
35+ addMovedBlock (
36+ std::get<0 >(moveModification),
37+ std::get<1 >(moveModification),
38+ std::get<2 >(moveModification),
39+ std::get<3 >(moveModification),
40+ std::get<4 >(moveModification)
41+ );
3642 break ;
3743 }
3844 }
3945 }
4046
41-
4247 enum ModificationType {
4348 REMOVED_BLOCK,
4449 PLACE_BLOCK,
@@ -63,16 +68,16 @@ class MinimalDifference {
6368 case ModificationType::PLACE_BLOCK: {
6469 auto blockModification = std::get<block_modification_t >(modification.second );
6570 stateJson[" position" ] = std::get<0 >(blockModification).toString ();
66- stateJson[" orientation" ] = { {" rotation" , std::get<1 >(blockModification).rotation }, {" flipped" , std::get<1 >(blockModification).flipped } };
71+ stateJson[" orientation" ] = { { " rotation" , std::get<1 >(blockModification).rotation }, { " flipped" , std::get<1 >(blockModification).flipped } };
6772 stateJson[" blockType" ] = blocktype_to_string (std::get<2 >(blockModification));
6873 break ;
6974 }
7075 case ModificationType::MOVE_BLOCK: {
7176 auto moveModification = std::get<move_modification_t >(modification.second );
7277 stateJson[" currentPosition" ] = std::get<0 >(moveModification).toString ();
73- stateJson[" currentOrientation" ] = { {" rotation" , std::get<1 >(moveModification).rotation }, {" flipped" , std::get<1 >(moveModification).flipped } };
78+ stateJson[" currentOrientation" ] = { { " rotation" , std::get<1 >(moveModification).rotation }, { " flipped" , std::get<1 >(moveModification).flipped } };
7479 stateJson[" newPosition" ] = std::get<2 >(moveModification).toString ();
75- stateJson[" newOrientation" ] = { {" rotation" , std::get<3 >(moveModification).rotation }, {" flipped" , std::get<3 >(moveModification).flipped } };
80+ stateJson[" newOrientation" ] = { { " rotation" , std::get<3 >(moveModification).rotation }, { " flipped" , std::get<3 >(moveModification).flipped } };
7681 stateJson[" moveType" ] = static_cast <int >(std::get<4 >(moveModification));
7782 break ;
7883 }
@@ -97,11 +102,21 @@ class MinimalDifference {
97102 }
98103
99104private:
100- void addRemovedBlock (Position position, Orientation orientation, BlockType type) { modifications.push_back ({ ModificationType::REMOVED_BLOCK, std::make_tuple (position, orientation, type) }); }
101- void addPlacedBlock (Position position, Orientation orientation, BlockType type) { modifications.push_back ({ ModificationType::PLACE_BLOCK, std::make_tuple (position, orientation, type) }); }
102- void addMovedBlock (Position curPosition, Orientation curOrientation, Position newPosition, Orientation newOrientation, MoveType moveType = MoveType::SINGLE) { modifications.push_back ({ ModificationType::MOVE_BLOCK, std::make_tuple (curPosition, curOrientation, newPosition, newOrientation, moveType) }); }
103- void addRemovedConnection (Position outputPosition, Position inputPosition) { modifications.push_back ({ ModificationType::REMOVED_CONNECTION, std::make_pair (outputPosition, inputPosition) }); }
104- void addCreatedConnection (Position outputPosition, Position inputPosition) { modifications.push_back ({ ModificationType::CREATED_CONNECTION, std::make_pair (outputPosition, inputPosition) }); }
105+ void addRemovedBlock (Position position, Orientation orientation, BlockType type) {
106+ modifications.push_back ({ ModificationType::REMOVED_BLOCK, std::make_tuple (position, orientation, type) });
107+ }
108+ void addPlacedBlock (Position position, Orientation orientation, BlockType type) {
109+ modifications.push_back ({ ModificationType::PLACE_BLOCK, std::make_tuple (position, orientation, type) });
110+ }
111+ void addMovedBlock (Position curPosition, Orientation curOrientation, Position newPosition, Orientation newOrientation, MoveType moveType = MoveType::SINGLE) {
112+ modifications.push_back ({ ModificationType::MOVE_BLOCK, std::make_tuple (curPosition, curOrientation, newPosition, newOrientation, moveType) });
113+ }
114+ void addRemovedConnection (Position outputPosition, Position inputPosition) {
115+ modifications.push_back ({ ModificationType::REMOVED_CONNECTION, std::make_pair (outputPosition, inputPosition) });
116+ }
117+ void addCreatedConnection (Position outputPosition, Position inputPosition) {
118+ modifications.push_back ({ ModificationType::CREATED_CONNECTION, std::make_pair (outputPosition, inputPosition) });
119+ }
105120
106121 std::vector<Modification> modifications;
107122};
0 commit comments