Skip to content

Commit d7b0a18

Browse files
authored
Merge pull request #1449 from OutpostUniverse/Feature/MapOffset_Operator_Overloads
Feature/map offset operator overloads
2 parents 0a22150 + d3f3d3e commit d7b0a18

File tree

2 files changed

+36
-5
lines changed

2 files changed

+36
-5
lines changed

OPHD/Map/MapOffset.h

+32
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,35 @@ struct MapOffset
88
NAS2D::Vector<int> xy;
99
int z;
1010
};
11+
12+
13+
inline bool operator==(const MapOffset& offset1, const MapOffset& offset2)
14+
{
15+
return offset1.xy == offset2.xy && offset1.z == offset2.z;
16+
}
17+
18+
19+
inline bool operator!=(const MapOffset& offset1, const MapOffset& offset2)
20+
{
21+
return !(offset1 == offset2);
22+
}
23+
24+
25+
inline MapOffset& operator*=(MapOffset& offset, int scalar)
26+
{
27+
offset.xy *= scalar;
28+
offset.z *= scalar;
29+
return offset;
30+
}
31+
32+
33+
inline MapOffset operator*(MapOffset offset, int scalar)
34+
{
35+
return offset *= scalar;
36+
}
37+
38+
39+
inline MapOffset operator*(int scalar, MapOffset offset)
40+
{
41+
return offset *= scalar;
42+
}

OPHD/States/MapViewState.cpp

+4-5
Original file line numberDiff line numberDiff line change
@@ -421,22 +421,22 @@ void MapViewState::onKeyDown(NAS2D::EventHandler::KeyCode key, NAS2D::EventHandl
421421

422422
case NAS2D::EventHandler::KeyCode::KEY_w:
423423
case NAS2D::EventHandler::KeyCode::KEY_UP:
424-
mMapView->moveView(MapOffset{DirectionNorthWest * shiftMoveScalar, 0});
424+
moveView(MapOffsetNorthWest * shiftMoveScalar);
425425
break;
426426

427427
case NAS2D::EventHandler::KeyCode::KEY_s:
428428
case NAS2D::EventHandler::KeyCode::KEY_DOWN:
429-
mMapView->moveView(MapOffset{DirectionSouthEast * shiftMoveScalar, 0});
429+
moveView(MapOffsetSouthEast * shiftMoveScalar);
430430
break;
431431

432432
case NAS2D::EventHandler::KeyCode::KEY_a:
433433
case NAS2D::EventHandler::KeyCode::KEY_LEFT:
434-
mMapView->moveView(MapOffset{DirectionSouthWest * shiftMoveScalar, 0});
434+
moveView(MapOffsetSouthWest * shiftMoveScalar);
435435
break;
436436

437437
case NAS2D::EventHandler::KeyCode::KEY_d:
438438
case NAS2D::EventHandler::KeyCode::KEY_RIGHT:
439-
mMapView->moveView(MapOffset{DirectionNorthEast * shiftMoveScalar, 0});
439+
moveView(MapOffsetNorthEast * shiftMoveScalar);
440440
break;
441441

442442
case NAS2D::EventHandler::KeyCode::KEY_0:
@@ -741,7 +741,6 @@ void MapViewState::onChangeDepth(int oldDepth, int newDepth) {
741741

742742
void MapViewState::moveView(MapOffset offset) {
743743
int oldZLevel = mMapView->currentDepth();
744-
745744
mMapView->moveView(offset);
746745

747746
int newZLevel = mMapView->currentDepth();

0 commit comments

Comments
 (0)