Refactor CObject::ObjectDamage switch statement
This commit is contained in:
parent
c2b00d7ad9
commit
16360eb6df
@ -169,26 +169,35 @@ CObject::ObjectDamage(float amount)
|
|||||||
amount = 0.0f;
|
amount = 0.0f;
|
||||||
}
|
}
|
||||||
if ((amount * m_fCollisionDamageMultiplier > 150.0f || bBodyCastDamageEffect) && m_nCollisionDamageEffect) {
|
if ((amount * m_fCollisionDamageMultiplier > 150.0f || bBodyCastDamageEffect) && m_nCollisionDamageEffect) {
|
||||||
if (m_nCollisionDamageEffect == COLDAMAGE_EFFECT_CHANGE_MODEL) {
|
const CVector& vecPos = m_matrix.GetPosition();
|
||||||
|
const float fDirectionZ = 0.0002f * amount;
|
||||||
|
switch (m_nCollisionDamageEffect)
|
||||||
|
{
|
||||||
|
case COLDAMAGE_EFFECT_CHANGE_MODEL:
|
||||||
bRenderDamaged = true;
|
bRenderDamaged = true;
|
||||||
return;
|
break;
|
||||||
}
|
case COLDAMAGE_EFFECT_SPLIT_MODEL:
|
||||||
if (m_nCollisionDamageEffect == COLDAMAGE_EFFECT_SPLIT_MODEL)
|
break;
|
||||||
return;
|
case COLDAMAGE_EFFECT_SMASH_COMPLETELY:
|
||||||
if (m_nCollisionDamageEffect == COLDAMAGE_EFFECT_SMASH_COMPLETELY) {
|
|
||||||
bIsVisible = false;
|
bIsVisible = false;
|
||||||
bUsesCollision = false;
|
bUsesCollision = false;
|
||||||
bIsStatic = true;
|
bIsStatic = true;
|
||||||
bExplosionProof = true;
|
bExplosionProof = true;
|
||||||
m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
|
m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
return;
|
case COLDAMAGE_EFFECT_CHANGE_THEN_SMASH:
|
||||||
|
if (!bRenderDamaged) {
|
||||||
|
bRenderDamaged = true;
|
||||||
}
|
}
|
||||||
if (m_nCollisionDamageEffect != COLDAMAGE_EFFECT_CHANGE_THEN_SMASH) {
|
else {
|
||||||
const CVector& vecPos = m_matrix.GetPosition();
|
bIsVisible = false;
|
||||||
const float fDirectionZ = 0.0002f * amount;
|
bUsesCollision = false;
|
||||||
switch (m_nCollisionDamageEffect)
|
bIsStatic = true;
|
||||||
{
|
bExplosionProof = true;
|
||||||
|
m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
|
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case COLDAMAGE_EFFECT_SMASH_CARDBOX_COMPLETELY: {
|
case COLDAMAGE_EFFECT_SMASH_CARDBOX_COMPLETELY: {
|
||||||
bIsVisible = false;
|
bIsVisible = false;
|
||||||
bUsesCollision = false;
|
bUsesCollision = false;
|
||||||
@ -288,18 +297,6 @@ CObject::ObjectDamage(float amount)
|
|||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!bRenderDamaged) {
|
|
||||||
bRenderDamaged = true;
|
|
||||||
} else {
|
|
||||||
bIsVisible = false;
|
|
||||||
bUsesCollision = false;
|
|
||||||
bIsStatic = true;
|
|
||||||
bExplosionProof = true;
|
|
||||||
m_vecMoveSpeed = CVector(0.0f, 0.0f, 0.0f);
|
|
||||||
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user