void OnDrag (Vector2 delta)
{
[...]
transf.localPosition += (Vector3)delta * rootElement.pixelSizeAdjustment;
transf
.localPosition = new Vector3
(HalfPixelOffset
(transf
.localPosition.x), HalfPixelOffset
(transf
.localPosition.y), transf
.localPosition.z);}
float HalfPixelOffset(float input)
{
float r = 0;
int i = (int)input;
int result = (int)((input - (int)input) * 100);
if(i > 0)
{
if(result > 50)
{
r = i + 1 + 0.5f;
}
else if(result <= 50)
{
r = i + 0.5f;
}
}
else if(i < 0)
{
if(result > 50)
{
r = i - 1 - 0.5f;
}
else if(result <= 50)
{
r = i - 0.5f;
}
}
return r;
}