rendered paste body public Sprite FindSpriteAt(double x, double y, double z)
{
int xIndex;
int yIndex;
x = Blueprint.x + (int)(Math.Round( (x - Blueprint.x)/GridSpacing)) * GridSpacing;
if(yOrZ == 'y')
{
y = Blueprint.y + (int)(Math.Round( (y - Blueprint.y)/GridSpacing)) * GridSpacing;
yIndex = (int)((y - (visibleSprites[0][0].y - GridSpacing/2))/GridSpacing);
}
else
{
y = Blueprint.z + (int)(Math.Round( (z - Blueprint.z)/GridSpacing)) * GridSpacing;
yIndex = (int)((z - (visibleSprites[0][0].z - GridSpacing/2))/GridSpacing);
}
if(yIndex > -1 && yIndex < visibleSprites.Count)
{
xIndex = (int)((x - (visibleSprites[yIndex][0].x - GridSpacing/2))/GridSpacing);
if(xIndex < visibleSprites[yIndex].Count && xIndex > -1)
return visibleSprites[yIndex][xIndex];
else
return null;
}
else
{
return null;
}
}