Erlendftw

fancy datasystem for js yolo

Nov 7th, 2013
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  * EXTERNAL
  3.  */
  4.  
  5.  
  6. function splitReduced(targetString, startDelim, stopDelim)
  7. {
  8.     var startPos = targetString.indexOf(startDelim);
  9.     if (startPos == -1) return false;
  10.     var endPos = targetString.indexOf(stopDelim);
  11.     if (endPos == -1) return false;
  12.     return (targetString.slice(((startPos) + (startDelim.length)), endPos));
  13. }
  14.  
  15. function splitReducedLast(targetString, startDelim, stopDelim)
  16. {
  17.     var startPos = targetString.indexOf(startDelim);
  18.     if (startPos == -1) return false;
  19.     var endPos = targetString.lastIndexOf(stopDelim);
  20.     if (endPos == -1) return false;
  21.     return (targetString.slice(((startPos) + (startDelim.length)), endPos));
  22. }
  23.  
  24. function contains(haystack, needle)
  25. {
  26.     if (haystack.indexOf(needle) == -1) return false;
  27.     return true;
  28. }
  29.  
  30. /**
  31.  * END EXTERNAL
  32.  */
  33.  
  34.  
  35. /**
  36.  * Variables
  37.  */
  38.  
  39. var validPositions = [ [185, 205], [185, 205], [93, 389], [93, 389], [93, 205], [93, 205], [1, 389], [1, 389], [1, 205], [1, 205], [-91, -389], [-91, -389] ];
  40.  
  41.  
  42. //Data that will be sent to the server
  43. var sendingData = '';
  44.  
  45. function addSnap(top, left, numberVal) {
  46.  
  47.     //Check if the data already contains a value for the pair.
  48.     if (contains(sendingData, "[block-" + top + ":" + left + "]", "[/block]")) {
  49.         //The sendingData already contains the current block.
  50.         var getData = splitReduced(sendingData, "[block-" + top + ":" + left + "]", "[/block]");
  51.         var getData_whole = "[block-" + top + ":" + left + "]" + getData + "[/block]";
  52.  
  53.         sendingData = sendingData.replace(getData_whole, "")
  54.     }
  55.  
  56.     //Validate the positions
  57.     var positionValidated = false;
  58.     for (var i = 0; i < validPositions.length; i++) {
  59.         if (validPositions[i][0] == top && validPositions[i][1] == left) positionValidated = true;
  60.     }
  61.  
  62.     if (!positionValidated) {
  63.         //The position is not valid, send a nasty error-message.
  64.         return;
  65.     }
  66.  
  67.     //Create a new block with the data.
  68.     var blockData = '[block-' + top + ':' + left + '][/block]';
  69.     sendingData = sendingData + blockData;
  70.  
  71.     //DEBUG:
  72.     console.log("Added " + top + ":" + left + " to data. Ready to ship.");
  73. }
Advertisement
Add Comment
Please, Sign In to add comment