Advertisement
Guest User

Wild Wild West

a guest
Dec 4th, 2018
2,301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function attachEvents() {
  2.  
  3.     let currentPlayerId = "";
  4.     let currentPlayer = {};
  5.  
  6.     getPlayers();
  7.     $("#addPlayer").click(addPlayer);
  8.     $("#save").click(saveGame);
  9.  
  10.  
  11.     function saveGame() {
  12.         if (currentPlayerId !== "") {
  13.             getCurrentPlayer();
  14.  
  15.             callAJAX("PUT", currentPlayerId,
  16.                 setCurrentPlayer, JSON.stringify(currentPlayer));
  17.         }
  18.        
  19.         //TODO
  20.  
  21.         $("#save").toggle();
  22.         $("#reload").toggle();
  23.         $("#canvas").toggle();
  24.     }
  25.  
  26.     function getCurrentPlayer() {
  27.         return callAJAX("GET", currentPlayerId, setCurrentPlayer);
  28.     }
  29.  
  30.     function setCurrentPlayer(response) {
  31.         currentPlayer = response;
  32.     }
  33.  
  34.     function addPlayer() {
  35.         let input = $("#addName");
  36.  
  37.         let player = {
  38.             name: input.val(),
  39.             money: 500,
  40.             bullets: 6
  41.         };
  42.  
  43.         callAJAX("POST", "",
  44.             getPlayers, JSON.stringify(player));
  45.  
  46.         input.val("");
  47.     }
  48.  
  49.     function getPlayers() {
  50.         callAJAX("GET", "", displayPlayers);
  51.     }
  52.  
  53.     function displayPlayers(players) {
  54.         let container = $("#players");
  55.         container.empty();
  56.  
  57.         for (let player of players) {
  58.  
  59.             let html = $(` <div class="player" data-id="${player._id}">
  60.             <div class="row">
  61.                 <label>Name:</label>
  62.                 <label class="name">${player.name}</label>
  63.             </div>
  64.             <div class="row">
  65.                 <label>Money:</label>
  66.                 <label class="money">${player.money}</label>
  67.             </div>
  68.             <div class="row">
  69.                 <label>Bullets:</label>
  70.                 <label class="bullets">${player.bullets}</label>
  71.             </div>
  72.             <button class="play">Play</button>
  73.             <button class="delete">Delete</button>
  74.         </div>`);
  75.  
  76.             html.find(".play").click(function () {
  77.                 let clicked = $(this).parent();
  78.                 let currentPlayerId = clicked.attr("data-id");
  79.  
  80. //TODO
  81.             });
  82.  
  83.             html.find(".delete").click(function () {
  84.                 let clicked = $(this).parent();
  85.                 let playerId = clicked.attr("data-id");
  86.  
  87.                 callAJAX("DELETE", playerId, getPlayers);
  88.             });
  89.  
  90.             container.append(html);
  91.         }
  92.     }
  93.  
  94.  
  95.     function callAJAX(method, hostAddOn, successFunc, JSON) {
  96.         const HOST = "https://baas.kinvey.com/appdata/kid_B1gzLJ4k4/players";
  97.         const USER = "guest";
  98.         const PASS = "guest";
  99.         const BASE_64 = btoa(USER + ":" + PASS);
  100.         const AUTH = {"Authorization": "Basic " + BASE_64};
  101.  
  102.         if (hostAddOn !== "") {
  103.             hostAddOn = "/" + hostAddOn;
  104.         }
  105.  
  106.         $.ajax({
  107.             method: method,
  108.             url: HOST + hostAddOn,
  109.             headers: AUTH,
  110.             contentType: "application/json; charset=utf-8",
  111.             data: JSON
  112.         }).then(successFunc)
  113.             .catch(displayError);
  114.     }
  115.  
  116.     function displayError(error) {
  117.         console.log(error);
  118.         alert(JSON.stringify(error));
  119.     }
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement