bugfix for overlapping unit fields of view

This commit is contained in:
devZoGok
2024-09-27 17:54:40 +03:00
parent b205e45e0d
commit aced28c332
+12 -10
View File
@@ -135,16 +135,6 @@ namespace battleship{
};
for(pair<Unit*, Vector2> unitPair : unitMinimapPos){
Vector2 coordDiff = unitPair.second - coords;
if(unitPair.first->getPlayer() == mainPlayer && fabs(coordDiff.x) <= unitPxRadius && fabs(coordDiff.y) <= unitPxRadius){
Vector3 plCol = mainPlayer->getColor();
pxCol[0] = plCol.x * 255;
pxCol[1] = plCol.y * 255;
pxCol[2] = plCol.z * 255;
break;
}
float minimapLos = unitPair.first->getLineOfSight() / mapSize.x * width;
if(unitPair.first->getPlayer() == mainPlayer && coords.getDistanceFrom(unitPair.second) < minimapLos){
@@ -177,6 +167,18 @@ namespace battleship{
}
}
for(pair<Unit*, Vector2> unitPair : unitMinimapPos){
Vector2 coordDiff = unitPair.second - coords;
if(unitPair.first->getPlayer() == mainPlayer && fabs(coordDiff.x) <= unitPxRadius && fabs(coordDiff.y) <= unitPxRadius){
Vector3 plCol = mainPlayer->getColor();
pxCol[0] = plCol.x * 255;
pxCol[1] = plCol.y * 255;
pxCol[2] = plCol.z * 255;
break;
}
}
*p = pxCol[0];
*(p + 1) = pxCol[1];
*(p + 2) = pxCol[2];