Guest User

Untitled

a guest
Feb 20th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. function function_queue() {
  2. var pos = 0;
  3. var queue = arguments;
  4. return function() {
  5. if ( pos < queue.length )
  6. queue[pos++]();
  7. }
  8. }
  9.  
  10. var scroll_x;
  11. var scroll_y;
  12.  
  13. function scroll_map(direction) {
  14. switch(direction) {
  15. case 'west' :
  16. scroll_x = -16;
  17. scroll_y = -32;
  18. start_y += 1;
  19. break;
  20.  
  21. case 'east' :
  22. scroll_x = 16;
  23. scroll_y = 32;
  24. start_y -= 1;
  25. break;
  26.  
  27. case 'north' :
  28. scroll_x = 16;
  29. scroll_y = -32;
  30. start_x -= 1;
  31. break;
  32.  
  33. case 'south' :
  34. scroll_x = -16;
  35. scroll_y = 32;
  36. start_x += 1;
  37. break;
  38. }
  39.  
  40. run_scroll_sequence();
  41. }
  42.  
  43. function run_scroll_sequence(x,y) {
  44. var q = function_queue(
  45. function(){move_tiles(q,start_x,start_y);},
  46. function(){draw_temp_tiles(q);},
  47. function(){hide_front_tiles(q);},
  48. function(){reset_front_tiles(q);},
  49. function(){copy_new_tiles(q);},
  50. function(){reveal_new_tiles(q);},
  51. function(){clear_temp(q);}
  52. );
  53. q();
  54. }
  55.  
  56. function move_tiles(whenDone,iso_x,iso_y) {
  57. new Effect.MoveBy('tiles_center',scroll_x,scroll_y);
  58. new Ajax.Request('/game/tiles/' + iso_x + '/' + iso_y, {onComplete:function(t){eval(t.responseText)}});
  59. whenDone();
  60. }
  61.  
  62. function draw_temp_tiles(whenDone) {
  63. draw_map(tiles,paths,'tiles_temp',apex_tile);
  64. whenDone();
  65. }
  66.  
  67. function hide_front_tiles(whenDone) {
  68. Element.hide('tiles_center');
  69. whenDone();
  70. }
  71.  
  72. function reset_front_tiles(whenDone) {
  73. $('tiles_center').innerHTML = '';
  74. $('tiles_center').style.left = '0px';
  75. $('tiles_center').style.top = '0px';
  76. whenDone();
  77. }
  78.  
  79. function copy_new_tiles(whenDone) {
  80. $('tiles_center').innerHTML = $('tiles_temp').innerHTML;
  81. whenDone();
  82. }
  83.  
  84. function reveal_new_tiles(whenDone) {
  85. Element.show('tiles_center');
  86. whenDone();
  87. }
  88.  
  89. function clear_temp(whenDone) {
  90. $('tiles_temp').innerHTML = '';
  91. whenDone;
  92. }
Add Comment
Please, Sign In to add comment