public void GetLine(int startX, int startY, int endX, int endY)
{
int diffX = Mathf.Abs(startX - endX);
int diffY = Mathf.Abs(startY - endY);
if (diffX >= diffY)
{
int veloX = startX < endX ? 1 : -1;
for (int x = 0; x <= diffX; x++)
{
int y = (int)(((float)(endY - startY) / (endX - startX)) * ((startX + x * veloX) - startX) + startY + 0.5f);
dosomething((startX + x * veloX), y);
}
}
else
{
int veloY = startY < endY ? 1 : -1;
for (int y = 0; y <= diffY; y++)
{
int x = (int)(((float)(endX - startX) / (endY - startY)) * ((startY + y * veloY) - startY) + startX + 0.5f);
dosomething((startX + x * veloX), y);
}
}
}