LynnaLab.RoomEditor.OnDragged C# (CSharp) Method

OnDragged() private method

private OnDragged ( int x, int y ) : void
x int
y int
return void
        void OnDragged(int x, int y)
        {
            if (!ViewObjects)
                OnClicked(x,y);
            else {
                if (!IsInBounds(x,y)) return;
                if (!draggingObject) return;

                ObjectData data = objectEditor.SelectedObjectData;
                if (data != null && data.HasXY()) {
                    // Move objects in increments of 16 pixels
                    int dataX = data.GetX()+8;
                    int dataY = data.GetY()+8;
                    int alignX = (dataX)%16;
                    int alignY = (dataY)%16;
                    int newX = (x-alignX)/16;
                    int newY = (y-alignY)/16;
                    newX = (newX*16+alignX+8)%256;
                    newY = (newY*16+alignY+8)%256;

                    data.SetX(newX);
                    data.SetY(newY);

                    QueueDraw();
                }
            }
        }