Прилипание к краям экрана

Код добавляется в событие степ любого объекта в комнате, после чего, при перемещении окна игры, оно будет как бы "прилипать" к краям экрана.

var _x  = window_get_x();
var _y  = window_get_y();
var _xh = window_get_width();
var _yh = window_get_height();

var _border = 30;
var _xg=0;
var _yg=0;

//центральные монитор,  левая сторона экрана
_xg=0;
if (_x<(_xg+_border)) and (_x>_xg-_border) then _x=_xg;
//на левом мониторе,  правая сторона
_xg -= _xh;
if (_x<(_xg+_border)) and (_x>_xg-_border) then _x=_xg;

//центральные монитор, правая сторона экрана
_xg = 1920;
if (_x>(_xg-_border)) and (_x<(_xg+_border))  then _x=_xg;
_xg -= _xh;
if (_x>(_xg-_border)) and (_x<(_xg+_border))  then _x=_xg;

//центральные монитор, верхний край экрана
_yg=0;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;
//верхний монитор, нижний край экрана
_yg-=_yh;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;

//центральные монитор, нижний край экрана
_yg=1080;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;
_yg-=_yh;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;

//нижний монитор, нижняя часть экрана
_yg=1080*2;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;
_yg-=_yh;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;

//верхний монитор, верхняя часть экрана
_yg=-1080*2;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;
_yg-=_yh;
if (_y>_yg-_border) and (_y<_yg+_border) then _y=_yg;

window_set_position(_x, _y);