public virtual bool MouseMove(int x, int y, RoomEditorState state)
{
if (!_movingObjectWithMouse) return false;
int realX = (x + state.ScrollOffsetX) / state.ScaleFactor;
int realY = (y + state.ScrollOffsetY) / state.ScaleFactor;
if ((_movingObjectWithMouse) && (realY < _room.Height) &&
(realX < _room.Width) && (realY >= 0) && (realX >= 0))
{
int newX = realX - _mouseOffsetX;
int newY = realY - _mouseOffsetY;
return MoveObject(newX, newY);
}
return false;
}