I have four of this really long if-else code. How can I refactor this code?
if (objectcameraangle > 140)
{
if (Vector3.Distance(joint1, joint2) > 0.5)
{
Rfootikcontroller.transform.Translate((scx / 10000), scy / 10000, 0);
}
else
{
Rfootikcontroller.transform.Translate((scx / 800), scy / 800, 0);
}
}
else if (objectcameraangle < 35)
{
if (Vector3.Distance(joint1, joint2) > 0.5)
{
Rfootikcontroller.transform.Translate((-scx / 10000), scy / 10000, 0);
}
else
{
Rfootikcontroller.transform.Translate((-scx / 800), scy / 800, 0);
}
}
else if (objectcameraangle > 35 && objectcameraangle < 140 && signed > 0)
{
if (Vector3.Distance(joint1, joint2) > 0.5)
{
Rfootikcontroller.transform.Translate(0, scy / 10000, (-scx / 10000));
}
else
{
Rfootikcontroller.transform.Translate(0, scy / 800, (-scx / 800));
}
}
How I can rewrite it to something more nice . Trying to learn here something new . Thanks for help.
Something like this?
var distance = Vector3.Distance(joint1, joint2);
var divisor = distance > 0.5 ? 10000 : 800;
var scx2 = scx / divisor;
var scy2 = scy / divisor;
if (objectcameraangle < 35)
{
Rfootikcontroller.transform.Translate(-scx2, scy2, 0);
}
else if (objectcameraangle < 140)
{
if (signed > 0)
Rfootikcontroller.transform.Translate(0, scy2, -scx2);
}
else
{
Rfootikcontroller.transform.Translate(scx2, scy2, 0);
}