| 177 | } |
| 178 | |
| 179 | void TileDamageStatus::damage(TileDamageParameters const& damageParameters, Vec2F const& sourcePosition, TileDamage const& damage) { |
| 180 | auto percentageDelta = damageParameters.damageDone(damage) / damageParameters.totalHealth(); |
| 181 | m_damagePercentage = min(1.0f, m_damagePercentage + percentageDelta); |
| 182 | m_harvested = damage.harvestLevel >= damageParameters.requiredHarvestLevel(); |
| 183 | m_damageSourcePosition = sourcePosition; |
| 184 | m_damageType = damage.type; |
| 185 | |
| 186 | if (percentageDelta > 0) |
| 187 | m_damageEffectTimeFactor = damageParameters.maximumEffectTime(); |
| 188 | |
| 189 | updateDamageEffectPercentage(); |
| 190 | } |
| 191 | |
| 192 | void TileDamageStatus::recover(TileDamageParameters const& damageParameters, float dt) { |
| 193 | // Once the tile becomes dead, it should not recover from it |
no test coverage detected