FunctionMisc.gml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. function tag_add(_inst, _tag){
  2. if (!variable_instance_exists(_inst, "itags")) {
  3. _inst.itags = [];
  4. }
  5. if (!has_tag(_inst, _tag)){
  6. array_push(_inst.itags, _tags);
  7. }
  8. }
  9. function tag_has(_inst, _tag){
  10. if (!variable_instance_exists(_inst, "itags")) {
  11. return false;
  12. }
  13. for (var _index = 0; _index < array_length(_inst.itags); _index++){
  14. if (_inst.itags[_index] == _tag){
  15. return true;
  16. }
  17. }
  18. return false;
  19. }
  20. function tag_has_any(_inst, _tags_array){
  21. if (!variable_instance_exists(_inst, "itags")) {
  22. return false;
  23. }
  24. for (var _index = 0; _index < array_length(_tags_array); _index++){
  25. if (tag_has(_inst, _tags_array[_index])){
  26. return true;
  27. }
  28. }
  29. return false;
  30. }
  31. function tag_has_all(_inst, _tags_array){
  32. if (!variable_instance_exists(_inst, "itags")) {
  33. return false;
  34. }
  35. for (var _index = 0; _index < array_length(_tags_array); _index++){
  36. if (!tag_has(_inst, _tags_array[_index])){
  37. return false;
  38. }
  39. }
  40. return true;
  41. }
  42. function tag_has_without(_inst, _tags_array){
  43. if (!variable_instance_exists(_inst, "itags")) {
  44. return false;
  45. }
  46. for (var _index = 0; _index < array_length(_tags_array); _index++){
  47. if (tag_has(_inst, _tags_array[_index])){
  48. return false;
  49. }
  50. }
  51. return true;
  52. }
  53. function tag_remove(_inst, _tag){
  54. if (!variable_instance_exists(_inst, "itags")) {
  55. _inst.itags = [];
  56. return;
  57. }
  58. if (has_tag(_inst, _tag)){
  59. for (var _index = 0; _index < array_length(_inst.itags); _index++){
  60. if (_inst.itags[_index] == _tag){
  61. array_delete(_inst.itags, _index, 1);
  62. break;
  63. }
  64. }
  65. }
  66. }
  67. function tag_clear(_inst){
  68. if (!variable_instance_exists(_inst, "itags")) {
  69. _inst.itags = [];
  70. return;
  71. }
  72. _inst.itags = [];
  73. }
  74. function tag_get_all(_tag){
  75. var _res =[];
  76. with (all){
  77. if (tag_has(id, _tag)){
  78. array_push(_res, id);
  79. }
  80. }
  81. return _res;
  82. }