private void SetBodyRot(ControllerVector sender)
{
switch (sender.Direction)
{
case ControllerDirection.Left:
_bodyRotX = 0;
_bodyRotZ = -sender.Magnitude.Map(0, 10000, 0, 10);
break;
case ControllerDirection.UpLeft:
_bodyRotX = sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotZ = -sender.Magnitude.Map(0, 10000, 0, 10);
break;
case ControllerDirection.UpRight:
_bodyRotX = sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotZ = sender.Magnitude.Map(0, 10000, 0, 10);
break;
case ControllerDirection.Right:
_bodyRotX = 0;
_bodyRotZ = sender.Magnitude.Map(0, 10000, 0, 10);
break;
case ControllerDirection.Up:
_bodyRotX = sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotZ = 0;
break;
case ControllerDirection.Down:
_bodyRotX = -sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotZ = 0;
break;
case ControllerDirection.DownLeft:
_bodyRotZ = -sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotX = -sender.Magnitude.Map(0, 10000, 0, 10);
break;
case ControllerDirection.DownRight:
_bodyRotZ = sender.Magnitude.Map(0, 10000, 0, 10);
_bodyRotX = -sender.Magnitude.Map(0, 10000, 0, 10);
break;
}
_ik.RequestBodyPosition(_bodyRotX, _bodyRotZ, _bodyPosX, _bodyPosZ, _bodyPosY, _bodyRotY);
}