function typer_set(_text, _x, _y, _delay, _delay_out)
{
	var _inst = icl(oTyper);
    _inst.text_full      = _text;
    _inst.text_shown     = "";
    _inst.char_index     = 0;
    _inst.char_timer     = 0;
    _inst.char_delay     = _delay;
    _inst.char_delay_out = _delay_out ?? _delay;
    _inst.is_done        = true;
    _inst.type_direction = -1;
    _inst.active         = false;
    _inst._prev_active   = false;
    _inst.draw_x         = _x;
    _inst.draw_y         = _y;
	return _inst;
}

function typer_skip(_inst)
{
    var _len = string_length(_inst.text_full);
    _inst.char_index = (_inst.direction == 1) ? _len : 0;
    _inst.text_shown = (_inst.direction == 1) ? _inst.text_full : "";
    _inst.is_done    = true;
}