function tag_add(_inst, _tag){ if (!variable_instance_exists(_inst, "itags")) { _inst.itags = []; } if (!has_tag(_inst, _tag)){ array_push(_inst.itags, _tags); } } function tag_has(_inst, _tag){ if (!variable_instance_exists(_inst, "itags")) { return false; } for (var _index = 0; _index < array_length(_inst.itags); _index++){ if (_inst.itags[_index] == _tag){ return true; } } return false; } function tag_has_any(_inst, _tags_array){ if (!variable_instance_exists(_inst, "itags")) { return false; } for (var _index = 0; _index < array_length(_tags_array); _index++){ if (tag_has(_inst, _tags_array[_index])){ return true; } } return false; } function tag_has_all(_inst, _tags_array){ if (!variable_instance_exists(_inst, "itags")) { return false; } for (var _index = 0; _index < array_length(_tags_array); _index++){ if (!tag_has(_inst, _tags_array[_index])){ return false; } } return true; } function tag_has_without(_inst, _tags_array){ if (!variable_instance_exists(_inst, "itags")) { return false; } for (var _index = 0; _index < array_length(_tags_array); _index++){ if (tag_has(_inst, _tags_array[_index])){ return false; } } return true; } function tag_remove(_inst, _tag){ if (!variable_instance_exists(_inst, "itags")) { _inst.itags = []; return; } if (has_tag(_inst, _tag)){ for (var _index = 0; _index < array_length(_inst.itags); _index++){ if (_inst.itags[_index] == _tag){ array_delete(_inst.itags, _index, 1); break; } } } } function tag_clear(_inst){ if (!variable_instance_exists(_inst, "itags")) { _inst.itags = []; return; } _inst.itags = []; } function tag_get_all(_tag){ var _res =[]; with (all){ if (tag_has(id, _tag)){ array_push(_res, id); } } return _res; }