mirror of
				https://github.com/tobspr/shapez.io.git
				synced 2025-06-13 13:04:03 +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