internal void ShakeItem(TransitionItem item)
{
float r = Mathf.Ceil(item.value.f1 * item.startValue.f3 / item.value.f2);
Vector2 vr = UnityEngine.Random.insideUnitCircle * r;
vr.x = vr.x > 0 ? Mathf.Ceil(vr.x) : Mathf.Floor(vr.x);
vr.y = vr.y > 0 ? Mathf.Ceil(vr.y) : Mathf.Floor(vr.y);
item.target._gearLocked = true;
item.target.SetXY(item.target.x - item.startValue.f1 + vr.x, item.target.y - item.startValue.f2 + vr.y);
item.target._gearLocked = false;
item.startValue.f1 = vr.x;
item.startValue.f2 = vr.y;
item.startValue.f3 -= Time.deltaTime;
if (item.startValue.f3 <= 0)
{
item.target._gearLocked = true;
item.target.SetXY(item.target.x - item.startValue.f1, item.target.y - item.startValue.f2);
item.target._gearLocked = false;
item.completed = true;
_totalTasks--;
Timers.inst.Remove(item.__Shake);
CheckAllComplete();
}
}