You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
104 lines
3.0 KiB
104 lines
3.0 KiB
//Copyright © space tarders 2023 |
|
|
|
'use strict' |
|
|
|
const canvas = document.getElementById("canvas"); |
|
let w = canvas.width = canvas.offsetWidth; |
|
let h = canvas.height = canvas.offsetHeight; |
|
const ctx = canvas.getContext("2d"); |
|
let planets = []; |
|
|
|
//lister vaisseau |
|
const token="Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZGVudGlmaWVyIjoiREFOSUVMMTIzNCIsInZlcnNpb24iOiJ2Mi4xLjIiLCJyZXNldF9kYXRlIjoiMjAyMy0xMS0xOCIsImlhdCI6MTcwMDgzMjc4MSwic3ViIjoiYWdlbnQtdG9rZW4ifQ.JIOfLaTzMeV4nrZ4tI8jdwrLyuNiqbMdXvXcNQfr1swHRBoIz39ozF6n33NOA7Zhp6frCXO8lflrDH2BTobOes5e2Q0BqNTj0Xq3MJeCc6QDsywv_doiIenDbf3gY7Aju_gC3z3u0uw0IqLhgxFIurlFgdXhsXX466i71sPrK8PPtGezTqB7_b7umAh3AknAuAaGi5no5VsvhCDJjH_Sb5HNkCYCvkENTm_INY5cprizOXjwYJd_91-b3ChMyJwMKJH9t68_rmDtZrU757sqSpDWE6ugh2auXEQXh3Am-BjBP1W6hlPjrOsxodD4mGYMgX8uYmZMRubIze0eu8FiNA" |
|
$('#canvas').on('click',function(e){ |
|
console.log(getMousePosition(e, $('#canvas'))); |
|
function getMousePosition(e, canvas) { |
|
let rect = canvas.offset(); |
|
return { |
|
x: (e.clientX - rect.left) - canvas.width()/2, |
|
y: (e.clientY - rect.top) - canvas.height()/2 |
|
}; |
|
} |
|
}) |
|
|
|
const ListMyShips = { |
|
async: true, |
|
crossDomain: true, |
|
url: 'https://api.spacetraders.io/v2/my/ships', |
|
method: 'GET', |
|
headers: { |
|
Accept: 'application/json', |
|
Authorization: token |
|
}, |
|
}; |
|
$.ajax(ListMyShips).done(function (response) { |
|
console.log(response); |
|
}); |
|
|
|
//recuperer le systeme ou on est |
|
function getSystem() { |
|
const settings = { |
|
async: true, |
|
crossDomain: true, |
|
url: 'https://api.spacetraders.io/v2/my/agent', |
|
method: 'GET', |
|
headers: { |
|
Accept: 'application/json', |
|
Authorization:token |
|
} |
|
}; |
|
$.ajax(settings).done(function (reponse) { |
|
let metaSystem = reponse.data.headquarters.split("-"); |
|
getListWaypoint(metaSystem[0] + "-" + metaSystem[1]); |
|
}); |
|
} |
|
getSystem(); |
|
|
|
//lister les points du systeme |
|
function getListWaypoint(system) { |
|
for(let i=1;i<5;i++){ |
|
const settings = { |
|
async: true, |
|
crossDomain: true, |
|
url: `https://api.spacetraders.io/v2/systems/${system}/waypoints`, |
|
method: 'GET', |
|
headers: { |
|
Accept: 'application/json' |
|
}, |
|
data:{ |
|
limit:20, |
|
page:i |
|
} |
|
}; |
|
|
|
$.ajax(settings).done(function (response) { |
|
console.log(response.data) |
|
response.data.forEach(waypoint => { |
|
planets.push(waypoint); |
|
ctx.fillStyle = "rgb(0,0,0)"; |
|
ctx.fillRect(waypoint.x/3 + w/2, waypoint.y/3 + h/2,6,6) |
|
}); |
|
}); |
|
} |
|
} |
|
drawSystem(); |
|
function travel(waypoint) |
|
{ |
|
const travelShip = { |
|
async: true, |
|
crossDomain: true, |
|
url: 'https://api.spacetraders.io/v2/my/ships/shipSymbol/navigate', |
|
method: 'POST', |
|
headers: { |
|
'Content-Type': 'application/json', |
|
Accept: 'application/json', |
|
Authorization: token |
|
}, |
|
processData: false, |
|
data: `{\n ${waypoint}: "string"\n}` |
|
}; |
|
|
|
$.ajax(travelShip).done(function (response) { |
|
console.log(response); |
|
}); |
|
}
|
|
|