mirror of
https://github.com/tobspr/shapez.io.git
synced 2024-10-27 20:34:29 +00:00
Authorize via steam
This commit is contained in:
parent
329cefb3c9
commit
42af2b63d6
@ -47,6 +47,8 @@ function listen() {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log("Adding listeners");
|
||||
|
||||
ipcMain.handle("steam:get-achievement-names", getAchievementNames);
|
||||
ipcMain.handle("steam:activate-achievement", activateAchievement);
|
||||
|
||||
@ -56,22 +58,24 @@ function listen() {
|
||||
.join("");
|
||||
}
|
||||
|
||||
ipcMain.on("steam:get-ticket", (event, arg) => {
|
||||
ipcMain.handle("steam:get-ticket", (event, arg) => {
|
||||
console.log("Requested steam ticket ...");
|
||||
greenworks.getAuthSessionTicket(
|
||||
success => {
|
||||
const ticketHex = bufferToHex(success.ticket);
|
||||
event.reply("steam:ticket-success", ticketHex);
|
||||
},
|
||||
error => {
|
||||
console.error("Failed to get steam ticket:", error);
|
||||
event.reply("steam:ticket-error", "" + error);
|
||||
}
|
||||
);
|
||||
return new Promise((resolve, reject) => {
|
||||
greenworks.getAuthSessionTicket(
|
||||
success => {
|
||||
const ticketHex = bufferToHex(success.ticket);
|
||||
resolve(ticketHex);
|
||||
},
|
||||
error => {
|
||||
console.error("Failed to get steam ticket:", error);
|
||||
reject(error);
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
ipcMain.on("steam:check-app-ownership", (event, appId) => {
|
||||
event.reply(greenworks.isSubscribedApp(appId));
|
||||
ipcMain.handle("steam:check-app-ownership", (event, appId) => {
|
||||
return Promise.resolve(greenworks.isSubscribedApp(appId));
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,12 @@ export class AchievementProxy {
|
||||
}
|
||||
|
||||
onLoad() {
|
||||
if (!this.root.gameMode.hasAchievements()) {
|
||||
logger.log("Disabling achievements because game mode does not have achievements");
|
||||
this.disabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
this.provider
|
||||
.onLoad(this.root)
|
||||
.then(() => {
|
||||
|
@ -112,6 +112,11 @@ export class GameMode extends BasicSerializableObject {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** @returns {boolean} */
|
||||
hasAchievements() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @returns {number} */
|
||||
getMinimumZoom() {
|
||||
return 0.1;
|
||||
|
@ -615,4 +615,9 @@ export class RegularGameMode extends GameMode {
|
||||
getIsFreeplayAvailable() {
|
||||
return this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay();
|
||||
}
|
||||
|
||||
/** @returns {boolean} */
|
||||
hasAchievements() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -7,7 +7,6 @@ import { getIPCRenderer } from "../core/utils";
|
||||
import { T } from "../translations";
|
||||
|
||||
const logger = createLogger("puzzle-api");
|
||||
const rusha = require("rusha");
|
||||
|
||||
export class ClientAPI {
|
||||
/**
|
||||
@ -22,15 +21,6 @@ export class ClientAPI {
|
||||
* @type {string|null}
|
||||
*/
|
||||
this.token = null;
|
||||
|
||||
this.syncToken = window.localStorage.getItem("tmp.syncToken");
|
||||
if (!this.syncToken) {
|
||||
this.syncToken = rusha
|
||||
.createHash()
|
||||
.update(new Date().getTime() + "=" + Math.random())
|
||||
.digest("hex");
|
||||
window.localStorage.setItem("tmp.syncToken", this.syncToken);
|
||||
}
|
||||
}
|
||||
|
||||
getEndpoint() {
|
||||
|
Loading…
Reference in New Issue
Block a user