Привет народ! Есть задача, хорошее решение которой в голову не приходит.
Есть тело человека, нужно отследить попадания. Попадания фиксируют: голова, тело (от шеи до таза), верх правой ноги/низ правой ноги, верх левой ноги/низ левой ноги.
После того, как мы отследили попадание, нужно понять - что попало (для того чтобы понять как реагировать). Попасть могут две руки (врага) и две ноги (врага). То есть, что мы имеем? Враг бьет в голову и мы должны понять, куда он попал и чем он бил.
Есть такое решение, грубое и мне оно не нравится.
// если попало в голову
if (OwnerBodyPartName == "mixamorig:Head")
{
// если попала левая рука
if (IncomingObjName == "mixamorig:LeftHand")
{
}
// если попала правая рука
else if (IncomingObjName == "mixamorig:RightHand")
{
}
// ну и.т.д
else if (IncomingObjName == "mixamorig:LeftToeBase")
{
}
else if (IncomingObjName == "mixamorig:RightToeBase")
{
}
}
и так на все части тела. Получаются многоэтажные if else if. Как вы поступили?
Стоило задать вопрос в ветке про игровое программирование)