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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("Adding listeners");
|
||||||
|
|
||||||
ipcMain.handle("steam:get-achievement-names", getAchievementNames);
|
ipcMain.handle("steam:get-achievement-names", getAchievementNames);
|
||||||
ipcMain.handle("steam:activate-achievement", activateAchievement);
|
ipcMain.handle("steam:activate-achievement", activateAchievement);
|
||||||
|
|
||||||
@ -56,22 +58,24 @@ function listen() {
|
|||||||
.join("");
|
.join("");
|
||||||
}
|
}
|
||||||
|
|
||||||
ipcMain.on("steam:get-ticket", (event, arg) => {
|
ipcMain.handle("steam:get-ticket", (event, arg) => {
|
||||||
console.log("Requested steam ticket ...");
|
console.log("Requested steam ticket ...");
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
greenworks.getAuthSessionTicket(
|
greenworks.getAuthSessionTicket(
|
||||||
success => {
|
success => {
|
||||||
const ticketHex = bufferToHex(success.ticket);
|
const ticketHex = bufferToHex(success.ticket);
|
||||||
event.reply("steam:ticket-success", ticketHex);
|
resolve(ticketHex);
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.error("Failed to get steam ticket:", error);
|
console.error("Failed to get steam ticket:", error);
|
||||||
event.reply("steam:ticket-error", "" + error);
|
reject(error);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
ipcMain.on("steam:check-app-ownership", (event, appId) => {
|
ipcMain.handle("steam:check-app-ownership", (event, appId) => {
|
||||||
event.reply(greenworks.isSubscribedApp(appId));
|
return Promise.resolve(greenworks.isSubscribedApp(appId));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +32,12 @@ export class AchievementProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
|
if (!this.root.gameMode.hasAchievements()) {
|
||||||
|
logger.log("Disabling achievements because game mode does not have achievements");
|
||||||
|
this.disabled = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
this.provider
|
this.provider
|
||||||
.onLoad(this.root)
|
.onLoad(this.root)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
|
@ -112,6 +112,11 @@ export class GameMode extends BasicSerializableObject {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @returns {boolean} */
|
||||||
|
hasAchievements() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/** @returns {number} */
|
/** @returns {number} */
|
||||||
getMinimumZoom() {
|
getMinimumZoom() {
|
||||||
return 0.1;
|
return 0.1;
|
||||||
|
@ -615,4 +615,9 @@ export class RegularGameMode extends GameMode {
|
|||||||
getIsFreeplayAvailable() {
|
getIsFreeplayAvailable() {
|
||||||
return this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay();
|
return this.root.app.restrictionMgr.getHasExtendedLevelsAndFreeplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @returns {boolean} */
|
||||||
|
hasAchievements() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@ import { getIPCRenderer } from "../core/utils";
|
|||||||
import { T } from "../translations";
|
import { T } from "../translations";
|
||||||
|
|
||||||
const logger = createLogger("puzzle-api");
|
const logger = createLogger("puzzle-api");
|
||||||
const rusha = require("rusha");
|
|
||||||
|
|
||||||
export class ClientAPI {
|
export class ClientAPI {
|
||||||
/**
|
/**
|
||||||
@ -22,15 +21,6 @@ export class ClientAPI {
|
|||||||
* @type {string|null}
|
* @type {string|null}
|
||||||
*/
|
*/
|
||||||
this.token = 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() {
|
getEndpoint() {
|
||||||
|
Loading…
Reference in New Issue
Block a user