@@ -60,6 +60,7 @@ namespace
60
60
case eStorageUnitsImageType::None: throw std::runtime_error (" unreachable" );
61
61
}
62
62
}
63
+
63
64
} // namespace
64
65
65
66
// ------------------------------------------------------------------------------
@@ -136,7 +137,7 @@ void cUnitDetailsHud::reset()
136
137
const auto & data = unit->data ;
137
138
const auto & staticData = unit->getStaticUnitData ();
138
139
139
- drawRow (0 , eUnitDataSymbolType::Hits , data.getHitpoints (), data.getHitpointsMax (), lngPack.i18n (" Others~Hitpoints_7" ));
140
+ drawRow (0 , getUnitDataSymbolTypeHits (data. getHitpoints (), data. getHitpointsMax ()) , data.getHitpoints (), data.getHitpointsMax (), lngPack.i18n (" Others~Hitpoints_7" ));
140
141
141
142
if (data.getSpeedMax () > 0 ) drawRow (2 , eUnitDataSymbolType::Speed, data.getSpeed () / 4 , data.getSpeedMax () / 4 , lngPack.i18n (" Others~Speed_7" ));
142
143
@@ -251,18 +252,6 @@ void cUnitDetailsHud::drawRow (size_t index, eUnitDataSymbolType symbolType, int
251
252
auto src = GraphicsData.getSmallSymbolPosition (symbolType);
252
253
const cPosition srcSize = {src.w , src.h };
253
254
int toValue = value2;
254
-
255
- if (symbolType == eUnitDataSymbolType::Hits)
256
- {
257
- if (value1 <= value2 / 4 ) // red
258
- {
259
- src.x += srcSize.x () * 4 ;
260
- }
261
- else if (value1 <= value2 / 2 ) // orange
262
- {
263
- src.x += srcSize.x () * 2 ;
264
- }
265
- }
266
255
int offX = srcSize.x ();
267
256
int step = 1 ;
268
257
@@ -295,3 +284,20 @@ void cUnitDetailsHud::drawRow (size_t index, eUnitDataSymbolType symbolType, int
295
284
value1 -= step;
296
285
}
297
286
}
287
+
288
+ // ------------------------------------------------------------------------------
289
+ eUnitDataSymbolType cUnitDetailsHud::getUnitDataSymbolTypeHits (int value, int valueMax)
290
+ {
291
+ if (value <= valueMax / 4 ) // red
292
+ {
293
+ return eUnitDataSymbolType::HitsRed;
294
+ }
295
+ else if (value <= valueMax / 2 ) // orange
296
+ {
297
+ return eUnitDataSymbolType::HitsOrange;
298
+ }
299
+ else
300
+ {
301
+ return eUnitDataSymbolType::HitsGreen;
302
+ }
303
+ }
0 commit comments