steamworks-ffi-node 0.3.1 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +53 -20
  2. package/dist/index.d.ts +4 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +24 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/internal/SteamAPICore.d.ts +32 -9
  7. package/dist/internal/SteamAPICore.d.ts.map +1 -1
  8. package/dist/internal/SteamAPICore.js +46 -15
  9. package/dist/internal/SteamAPICore.js.map +1 -1
  10. package/dist/internal/SteamAchievementManager.d.ts +25 -25
  11. package/dist/internal/SteamAchievementManager.js +26 -26
  12. package/dist/internal/SteamAchievementManager.js.map +1 -1
  13. package/dist/internal/SteamCallbackPoller.d.ts +68 -0
  14. package/dist/internal/SteamCallbackPoller.d.ts.map +1 -0
  15. package/dist/internal/SteamCallbackPoller.js +134 -0
  16. package/dist/internal/SteamCallbackPoller.js.map +1 -0
  17. package/dist/internal/SteamLeaderboardManager.d.ts +338 -0
  18. package/dist/internal/SteamLeaderboardManager.d.ts.map +1 -0
  19. package/dist/internal/SteamLeaderboardManager.js +734 -0
  20. package/dist/internal/SteamLeaderboardManager.js.map +1 -0
  21. package/dist/internal/SteamLibraryLoader.d.ts +15 -0
  22. package/dist/internal/SteamLibraryLoader.d.ts.map +1 -1
  23. package/dist/internal/SteamLibraryLoader.js +26 -0
  24. package/dist/internal/SteamLibraryLoader.js.map +1 -1
  25. package/dist/internal/SteamStatsManager.d.ts +57 -45
  26. package/dist/internal/SteamStatsManager.d.ts.map +1 -1
  27. package/dist/internal/SteamStatsManager.js +146 -101
  28. package/dist/internal/SteamStatsManager.js.map +1 -1
  29. package/dist/steam.d.ts +115 -172
  30. package/dist/steam.d.ts.map +1 -1
  31. package/dist/steam.js +24 -241
  32. package/dist/steam.js.map +1 -1
  33. package/dist/{types.d.ts → types/achievements.d.ts} +19 -30
  34. package/dist/types/achievements.d.ts.map +1 -0
  35. package/dist/types/achievements.js +6 -0
  36. package/dist/types/achievements.js.map +1 -0
  37. package/dist/types/core.d.ts +18 -0
  38. package/dist/types/core.d.ts.map +1 -0
  39. package/dist/types/core.js +6 -0
  40. package/dist/types/core.js.map +1 -0
  41. package/dist/types/index.d.ts +14 -0
  42. package/dist/types/index.d.ts.map +1 -0
  43. package/dist/types/index.js +34 -0
  44. package/dist/types/index.js.map +1 -0
  45. package/dist/types/leaderboards.d.ts +121 -0
  46. package/dist/types/leaderboards.d.ts.map +1 -0
  47. package/dist/types/leaderboards.js +45 -0
  48. package/dist/types/leaderboards.js.map +1 -0
  49. package/dist/types/stats.d.ts +37 -0
  50. package/dist/types/stats.d.ts.map +1 -0
  51. package/dist/types/stats.js +6 -0
  52. package/dist/types/stats.js.map +1 -0
  53. package/package.json +4 -3
  54. package/dist/types.d.ts.map +0 -1
  55. package/dist/types.js +0 -3
  56. package/dist/types.js.map +0 -1
  57. package/steamworks_sdk/README.md +0 -82
package/dist/steam.js CHANGED
@@ -4,23 +4,36 @@ const SteamLibraryLoader_1 = require("./internal/SteamLibraryLoader");
4
4
  const SteamAPICore_1 = require("./internal/SteamAPICore");
5
5
  const SteamAchievementManager_1 = require("./internal/SteamAchievementManager");
6
6
  const SteamStatsManager_1 = require("./internal/SteamStatsManager");
7
+ const SteamLeaderboardManager_1 = require("./internal/SteamLeaderboardManager");
7
8
  /**
8
9
  * Real Steamworks SDK implementation using Koffi FFI
9
10
  * This connects directly to the actual Steam client and Steamworks SDK
10
11
  *
11
- * Uses composition pattern with specialized modules:
12
- * - SteamLibraryLoader: Handles FFI library loading and function binding
13
- * - SteamAPICore: Manages Steam API lifecycle (init, shutdown, callbacks)
14
- * - SteamAchievementManager: Handles all achievement operations
15
- * - SteamStatsManager: Handles all stats operations
12
+ * Uses composition pattern with specialized managers:
13
+ * - achievements: SteamAchievementManager - All achievement operations
14
+ * - stats: SteamStatsManager - All stats operations
15
+ * - leaderboards: SteamLeaderboardManager - All leaderboard operations
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const steam = Steam.getInstance();
20
+ * steam.init({ appId: 480 });
21
+ *
22
+ * // Use managers directly
23
+ * await steam.achievements.unlockAchievement('ACH_WIN_ONE_GAME');
24
+ * await steam.stats.setStatInt('NumGames', 1);
25
+ * await steam.leaderboards.uploadScore(handle, 1000, KeepBest);
26
+ * ```
16
27
  */
17
28
  class SteamworksSDK {
18
29
  constructor() {
19
- // Initialize composed modules
30
+ // Initialize internal modules
20
31
  this.libraryLoader = new SteamLibraryLoader_1.SteamLibraryLoader();
21
32
  this.apiCore = new SteamAPICore_1.SteamAPICore(this.libraryLoader);
22
- this.achievementManager = new SteamAchievementManager_1.SteamAchievementManager(this.libraryLoader, this.apiCore);
23
- this.statsManager = new SteamStatsManager_1.SteamStatsManager(this.libraryLoader, this.apiCore);
33
+ // Initialize public managers
34
+ this.achievements = new SteamAchievementManager_1.SteamAchievementManager(this.libraryLoader, this.apiCore);
35
+ this.stats = new SteamStatsManager_1.SteamStatsManager(this.libraryLoader, this.apiCore);
36
+ this.leaderboards = new SteamLeaderboardManager_1.SteamLeaderboardManager(this.libraryLoader, this.apiCore);
24
37
  }
25
38
  static getInstance() {
26
39
  if (!SteamworksSDK.instance) {
@@ -28,6 +41,9 @@ class SteamworksSDK {
28
41
  }
29
42
  return SteamworksSDK.instance;
30
43
  }
44
+ // ========================================
45
+ // CORE API METHODS
46
+ // ========================================
31
47
  /**
32
48
  * Initialize Steam API with real Steamworks SDK
33
49
  */
@@ -46,48 +62,6 @@ class SteamworksSDK {
46
62
  getStatus() {
47
63
  return this.apiCore.getStatus();
48
64
  }
49
- /**
50
- * Get all achievements from Steam
51
- */
52
- async getAllAchievements() {
53
- return this.achievementManager.getAllAchievements();
54
- }
55
- /**
56
- * Unlock achievement in Steam
57
- */
58
- async unlockAchievement(achievementName) {
59
- return this.achievementManager.unlockAchievement(achievementName);
60
- }
61
- /**
62
- * Clear achievement in Steam (for testing)
63
- */
64
- async clearAchievement(achievementName) {
65
- return this.achievementManager.clearAchievement(achievementName);
66
- }
67
- /**
68
- * Check if achievement is unlocked
69
- */
70
- async isAchievementUnlocked(achievementName) {
71
- return this.achievementManager.isAchievementUnlocked(achievementName);
72
- }
73
- /**
74
- * Get achievement by API name
75
- */
76
- async getAchievementByName(achievementName) {
77
- return this.achievementManager.getAchievementByName(achievementName);
78
- }
79
- /**
80
- * Get total number of achievements
81
- */
82
- async getTotalAchievementCount() {
83
- return this.achievementManager.getTotalAchievementCount();
84
- }
85
- /**
86
- * Get number of unlocked achievements
87
- */
88
- async getUnlockedAchievementCount() {
89
- return this.achievementManager.getUnlockedAchievementCount();
90
- }
91
65
  /**
92
66
  * Run Steam callbacks to process pending events
93
67
  */
@@ -100,197 +74,6 @@ class SteamworksSDK {
100
74
  isSteamRunning() {
101
75
  return this.apiCore.isSteamRunning();
102
76
  }
103
- // ===== VISUAL & UI FEATURES =====
104
- /**
105
- * Get achievement icon handle for use with ISteamUtils::GetImageRGBA()
106
- */
107
- async getAchievementIcon(achievementName) {
108
- return this.achievementManager.getAchievementIcon(achievementName);
109
- }
110
- /**
111
- * Show achievement progress notification in Steam overlay
112
- */
113
- async indicateAchievementProgress(achievementName, currentProgress, maxProgress) {
114
- return this.achievementManager.indicateAchievementProgress(achievementName, currentProgress, maxProgress);
115
- }
116
- /**
117
- * Get all achievements with icon handles
118
- */
119
- async getAllAchievementsWithIcons() {
120
- return this.achievementManager.getAllAchievementsWithIcons();
121
- }
122
- // ===== PROGRESS TRACKING =====
123
- /**
124
- * Get achievement progress limits (integer-based)
125
- */
126
- async getAchievementProgressLimitsInt(achievementName) {
127
- return this.achievementManager.getAchievementProgressLimitsInt(achievementName);
128
- }
129
- /**
130
- * Get achievement progress limits (float-based)
131
- */
132
- async getAchievementProgressLimitsFloat(achievementName) {
133
- return this.achievementManager.getAchievementProgressLimitsFloat(achievementName);
134
- }
135
- // ===== FRIEND/USER ACHIEVEMENTS =====
136
- /**
137
- * Request achievement stats for another user (friend)
138
- * This is async - wait for callback before calling getUserAchievement()
139
- */
140
- async requestUserStats(steamId) {
141
- return this.achievementManager.requestUserStats(steamId);
142
- }
143
- /**
144
- * Get achievement status for another user (friend)
145
- * Must call requestUserStats() first and wait for callback
146
- */
147
- async getUserAchievement(steamId, achievementName) {
148
- return this.achievementManager.getUserAchievement(steamId, achievementName);
149
- }
150
- // ===== GLOBAL STATISTICS =====
151
- /**
152
- * Request global achievement percentages from Steam
153
- * This is async - wait for callback before calling other global stats methods
154
- */
155
- async requestGlobalAchievementPercentages() {
156
- return this.achievementManager.requestGlobalAchievementPercentages();
157
- }
158
- /**
159
- * Get percentage of users who unlocked a specific achievement
160
- * Must call requestGlobalAchievementPercentages() first
161
- */
162
- async getAchievementAchievedPercent(achievementName) {
163
- return this.achievementManager.getAchievementAchievedPercent(achievementName);
164
- }
165
- /**
166
- * Get all achievements with global unlock percentages
167
- * Must call requestGlobalAchievementPercentages() first
168
- */
169
- async getAllAchievementsWithGlobalStats() {
170
- return this.achievementManager.getAllAchievementsWithGlobalStats();
171
- }
172
- /**
173
- * Get most achieved achievement
174
- */
175
- async getMostAchievedAchievementInfo() {
176
- return this.achievementManager.getMostAchievedAchievementInfo();
177
- }
178
- /**
179
- * Get next most achieved achievement (iterate by popularity)
180
- */
181
- async getNextMostAchievedAchievementInfo(previousIterator) {
182
- return this.achievementManager.getNextMostAchievedAchievementInfo(previousIterator);
183
- }
184
- /**
185
- * Get all achievements sorted by global popularity (most achieved first)
186
- * Must call requestGlobalAchievementPercentages() first
187
- */
188
- async getAllAchievementsSortedByPopularity() {
189
- return this.achievementManager.getAllAchievementsSortedByPopularity();
190
- }
191
- // ===== TESTING & DEVELOPMENT =====
192
- /**
193
- * Reset all stats and optionally achievements
194
- * WARNING: This clears ALL user stats and achievements!
195
- */
196
- async resetAllStats(includeAchievements = false) {
197
- return this.achievementManager.resetAllStats(includeAchievements);
198
- }
199
- // ========================================
200
- // STATS API
201
- // ========================================
202
- // ===== USER STATS (GET/SET) =====
203
- /**
204
- * Get an integer stat value
205
- */
206
- async getStatInt(statName) {
207
- return this.statsManager.getStatInt(statName);
208
- }
209
- /**
210
- * Get a float stat value
211
- */
212
- async getStatFloat(statName) {
213
- return this.statsManager.getStatFloat(statName);
214
- }
215
- /**
216
- * Set an integer stat value
217
- */
218
- async setStatInt(statName, value) {
219
- return this.statsManager.setStatInt(statName, value);
220
- }
221
- /**
222
- * Set a float stat value
223
- */
224
- async setStatFloat(statName, value) {
225
- return this.statsManager.setStatFloat(statName, value);
226
- }
227
- /**
228
- * Update an average rate stat (e.g., kills per hour, average speed)
229
- */
230
- async updateAvgRateStat(statName, countThisSession, sessionLength) {
231
- return this.statsManager.updateAvgRateStat(statName, countThisSession, sessionLength);
232
- }
233
- // ===== FRIEND/USER STATS =====
234
- /**
235
- * Request stats for another user (friend)
236
- * Must be called before getting user stats
237
- */
238
- async requestUserStatsForStats(steamId) {
239
- return this.statsManager.requestUserStats(steamId);
240
- }
241
- /**
242
- * Get an integer stat value for another user (friend)
243
- * Must call requestUserStatsForStats() first and wait for callback
244
- */
245
- async getUserStatInt(steamId, statName) {
246
- return this.statsManager.getUserStatInt(steamId, statName);
247
- }
248
- /**
249
- * Get a float stat value for another user (friend)
250
- * Must call requestUserStatsForStats() first and wait for callback
251
- */
252
- async getUserStatFloat(steamId, statName) {
253
- return this.statsManager.getUserStatFloat(steamId, statName);
254
- }
255
- // ===== GLOBAL STATS =====
256
- /**
257
- * Request global stats data from Steam
258
- * Must be called before getting global stats
259
- * @param historyDays - Number of days of history to retrieve (0-60)
260
- */
261
- async requestGlobalStats(historyDays = 0) {
262
- return this.statsManager.requestGlobalStats(historyDays);
263
- }
264
- /**
265
- * Get a global stat value (int64)
266
- * Must call requestGlobalStats() first and wait for callback
267
- */
268
- async getGlobalStatInt(statName) {
269
- return this.statsManager.getGlobalStatInt(statName);
270
- }
271
- /**
272
- * Get a global stat value (double)
273
- * Must call requestGlobalStats() first and wait for callback
274
- */
275
- async getGlobalStatDouble(statName) {
276
- return this.statsManager.getGlobalStatDouble(statName);
277
- }
278
- /**
279
- * Get global stat history (int64)
280
- * Returns daily values for the stat, with [0] being today, [1] yesterday, etc.
281
- * @param days - Number of days of history to retrieve (max 60)
282
- */
283
- async getGlobalStatHistoryInt(statName, days = 7) {
284
- return this.statsManager.getGlobalStatHistoryInt(statName, days);
285
- }
286
- /**
287
- * Get global stat history (double)
288
- * Returns daily values for the stat, with [0] being today, [1] yesterday, etc.
289
- * @param days - Number of days of history to retrieve (max 60)
290
- */
291
- async getGlobalStatHistoryDouble(statName, days = 7) {
292
- return this.statsManager.getGlobalStatHistoryDouble(statName, days);
293
- }
294
77
  }
295
78
  exports.default = SteamworksSDK;
296
79
  //# sourceMappingURL=steam.js.map
package/dist/steam.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"steam.js","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steam.js","sourceRoot":"","sources":["../src/steam.ts"],"names":[],"mappings":";;AAIA,sEAAmE;AACnE,0DAAuD;AACvD,gFAA6E;AAC7E,oEAAiE;AACjE,gFAA6E;AAE7E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,aAAa;IA0GjB;QACE,8BAA8B;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAkB,EAAE,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClF,IAAI,CAAC,KAAK,GAAG,IAAI,qCAAiB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,GAAG,IAAI,iDAAuB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED,2CAA2C;IAC3C,mBAAmB;IACnB,2CAA2C;IAE3C;;OAEG;IACH,IAAI,CAAC,OAAyB;QAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IACvC,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Achievement-related types for the SteamAchievementManager
3
+ */
4
+ /**
5
+ * Steam achievement data
6
+ */
1
7
  export interface SteamAchievement {
2
8
  apiName: string;
3
9
  displayName: string;
@@ -6,18 +12,16 @@ export interface SteamAchievement {
6
12
  unlockTime: number;
7
13
  hidden?: boolean;
8
14
  }
9
- export interface SteamInitOptions {
10
- appId: number;
11
- }
12
- export interface SteamStatus {
13
- initialized: boolean;
14
- appId: number;
15
- steamId: string;
16
- }
15
+ /**
16
+ * Achievement progress limits for progress tracking
17
+ */
17
18
  export interface AchievementProgressLimits {
18
19
  minProgress: number;
19
20
  maxProgress: number;
20
21
  }
22
+ /**
23
+ * User (friend) achievement data
24
+ */
21
25
  export interface UserAchievement {
22
26
  steamId: string;
23
27
  apiName: string;
@@ -26,6 +30,9 @@ export interface UserAchievement {
26
30
  unlocked: boolean;
27
31
  unlockTime: number;
28
32
  }
33
+ /**
34
+ * Global achievement statistics with unlock percentage
35
+ */
29
36
  export interface AchievementGlobalStats {
30
37
  apiName: string;
31
38
  displayName: string;
@@ -33,28 +40,10 @@ export interface AchievementGlobalStats {
33
40
  unlocked: boolean;
34
41
  globalUnlockPercentage: number;
35
42
  }
43
+ /**
44
+ * Achievement with icon handle for visual display
45
+ */
36
46
  export interface AchievementWithIcon extends SteamAchievement {
37
47
  iconHandle: number;
38
48
  }
39
- export interface SteamStat {
40
- name: string;
41
- value: number;
42
- type: 'int' | 'float';
43
- }
44
- export interface GlobalStat {
45
- name: string;
46
- value: number;
47
- type: 'int64' | 'double';
48
- }
49
- export interface GlobalStatHistory {
50
- name: string;
51
- history: number[];
52
- type: 'int64' | 'double';
53
- }
54
- export interface UserStat {
55
- steamId: string;
56
- name: string;
57
- value: number;
58
- type: 'int' | 'float';
59
- }
60
- //# sourceMappingURL=types.d.ts.map
49
+ //# sourceMappingURL=achievements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.d.ts","sourceRoot":"","sources":["../../src/types/achievements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Achievement-related types for the SteamAchievementManager
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=achievements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"achievements.js","sourceRoot":"","sources":["../../src/types/achievements.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Core Steam API types used across all managers
3
+ */
4
+ /**
5
+ * Options for initializing the Steam API
6
+ */
7
+ export interface SteamInitOptions {
8
+ appId: number;
9
+ }
10
+ /**
11
+ * Current Steam connection status
12
+ */
13
+ export interface SteamStatus {
14
+ initialized: boolean;
15
+ appId: number;
16
+ steamId: string;
17
+ }
18
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Core Steam API types used across all managers
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/types/core.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Central export file for all Steam types
3
+ *
4
+ * Types are organized by manager:
5
+ * - core.ts - Core Steam API types
6
+ * - achievements.ts - Achievement-related types
7
+ * - stats.ts - Stats-related types
8
+ * - leaderboards.ts - Leaderboard-related types
9
+ */
10
+ export * from './core';
11
+ export * from './achievements';
12
+ export * from './stats';
13
+ export * from './leaderboards';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,cAAc,QAAQ,CAAC;AAGvB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,SAAS,CAAC;AAGxB,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * Central export file for all Steam types
4
+ *
5
+ * Types are organized by manager:
6
+ * - core.ts - Core Steam API types
7
+ * - achievements.ts - Achievement-related types
8
+ * - stats.ts - Stats-related types
9
+ * - leaderboards.ts - Leaderboard-related types
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
23
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ // Core types
27
+ __exportStar(require("./core"), exports);
28
+ // Achievement types
29
+ __exportStar(require("./achievements"), exports);
30
+ // Stats types
31
+ __exportStar(require("./stats"), exports);
32
+ // Leaderboard types
33
+ __exportStar(require("./leaderboards"), exports);
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;AAEH,aAAa;AACb,yCAAuB;AAEvB,oBAAoB;AACpB,iDAA+B;AAE/B,cAAc;AACd,0CAAwB;AAExB,oBAAoB;AACpB,iDAA+B"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Leaderboard-related types for the SteamLeaderboardManager
3
+ */
4
+ /**
5
+ * Leaderboard sort methods
6
+ */
7
+ export declare enum LeaderboardSortMethod {
8
+ None = 0,
9
+ Ascending = 1,// Top score is lowest number
10
+ Descending = 2
11
+ }
12
+ /**
13
+ * Leaderboard display types
14
+ */
15
+ export declare enum LeaderboardDisplayType {
16
+ None = 0,
17
+ Numeric = 1,// Simple numerical score
18
+ TimeSeconds = 2,// Score represents time in seconds
19
+ TimeMilliseconds = 3
20
+ }
21
+ /**
22
+ * Leaderboard data request types
23
+ */
24
+ export declare enum LeaderboardDataRequest {
25
+ Global = 0,// Top entries from full leaderboard
26
+ GlobalAroundUser = 1,// Entries around current user
27
+ Friends = 2,// Entries for friends only
28
+ Users = 3
29
+ }
30
+ /**
31
+ * Leaderboard upload score methods
32
+ */
33
+ export declare enum LeaderboardUploadScoreMethod {
34
+ None = 0,
35
+ KeepBest = 1,// Keep user's best score
36
+ ForceUpdate = 2
37
+ }
38
+ /**
39
+ * Single leaderboard entry
40
+ */
41
+ export interface LeaderboardEntry {
42
+ steamId: string;
43
+ globalRank: number;
44
+ score: number;
45
+ details: number[];
46
+ ugcHandle: bigint;
47
+ }
48
+ /**
49
+ * Leaderboard information
50
+ */
51
+ export interface LeaderboardInfo {
52
+ handle: bigint;
53
+ name: string;
54
+ entryCount: number;
55
+ sortMethod: LeaderboardSortMethod;
56
+ displayType: LeaderboardDisplayType;
57
+ }
58
+ /**
59
+ * Result of score upload
60
+ */
61
+ export interface LeaderboardScoreUploadResult {
62
+ success: boolean;
63
+ leaderboardHandle: bigint;
64
+ score: number;
65
+ scoreChanged: boolean;
66
+ globalRankNew: number;
67
+ globalRankPrevious: number;
68
+ }
69
+ /**
70
+ * LeaderboardFindResult_t - Result of FindOrCreateLeaderboard/FindLeaderboard
71
+ * Callback ID: k_iSteamUserStatsCallbacks + 4 = 1104
72
+ * @internal
73
+ */
74
+ export interface LeaderboardFindResultType {
75
+ m_hSteamLeaderboard: bigint;
76
+ m_bLeaderboardFound: number;
77
+ }
78
+ /**
79
+ * LeaderboardScoreUploaded_t - Result of UploadLeaderboardScore
80
+ * Callback ID: k_iSteamUserStatsCallbacks + 6 = 1106
81
+ * @internal
82
+ */
83
+ export interface LeaderboardScoreUploadedType {
84
+ m_bSuccess: number;
85
+ m_hSteamLeaderboard: bigint;
86
+ m_nScore: number;
87
+ m_bScoreChanged: number;
88
+ m_nGlobalRankNew: number;
89
+ m_nGlobalRankPrevious: number;
90
+ }
91
+ /**
92
+ * LeaderboardScoresDownloaded_t - Result of DownloadLeaderboardEntries
93
+ * Callback ID: k_iSteamUserStatsCallbacks + 5 = 1105
94
+ * @internal
95
+ */
96
+ export interface LeaderboardScoresDownloadedType {
97
+ m_hSteamLeaderboard: bigint;
98
+ m_hSteamLeaderboardEntries: bigint;
99
+ m_cEntryCount: number;
100
+ }
101
+ /**
102
+ * LeaderboardUGCSet_t - Result of AttachLeaderboardUGC
103
+ * Callback ID: k_iSteamUserStatsCallbacks + 11 = 1111
104
+ * @internal
105
+ */
106
+ export interface LeaderboardUGCSetType {
107
+ m_eResult: number;
108
+ m_hSteamLeaderboard: bigint;
109
+ }
110
+ /**
111
+ * LeaderboardEntry_t - Individual leaderboard entry data (from Steam)
112
+ * @internal
113
+ */
114
+ export interface LeaderboardEntryType {
115
+ m_steamIDUser: bigint;
116
+ m_nGlobalRank: number;
117
+ m_nScore: number;
118
+ m_cDetails: number;
119
+ m_hUGC: bigint;
120
+ }
121
+ //# sourceMappingURL=leaderboards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leaderboards.d.ts","sourceRoot":"","sources":["../../src/types/leaderboards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,IAAI,IAAI;IACR,SAAS,IAAI,CAAI,6BAA6B;IAC9C,UAAU,IAAI;CACf;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,IAAI,IAAI;IACR,OAAO,IAAI,CAAY,yBAAyB;IAChD,WAAW,IAAI,CAAQ,mCAAmC;IAC1D,gBAAgB,IAAI;CACrB;AAED;;GAEG;AACH,oBAAY,sBAAsB;IAChC,MAAM,IAAI,CAAa,oCAAoC;IAC3D,gBAAgB,IAAI,CAAG,8BAA8B;IACrD,OAAO,IAAI,CAAY,2BAA2B;IAClD,KAAK,IAAI;CACV;AAED;;GAEG;AACH,oBAAY,4BAA4B;IACtC,IAAI,IAAI;IACR,QAAQ,IAAI,CAAO,yBAAyB;IAC5C,WAAW,IAAI;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,qBAAqB,CAAC;IAClC,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC9C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,MAAM,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ /**
3
+ * Leaderboard-related types for the SteamLeaderboardManager
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LeaderboardUploadScoreMethod = exports.LeaderboardDataRequest = exports.LeaderboardDisplayType = exports.LeaderboardSortMethod = void 0;
7
+ /**
8
+ * Leaderboard sort methods
9
+ */
10
+ var LeaderboardSortMethod;
11
+ (function (LeaderboardSortMethod) {
12
+ LeaderboardSortMethod[LeaderboardSortMethod["None"] = 0] = "None";
13
+ LeaderboardSortMethod[LeaderboardSortMethod["Ascending"] = 1] = "Ascending";
14
+ LeaderboardSortMethod[LeaderboardSortMethod["Descending"] = 2] = "Descending"; // Top score is highest number
15
+ })(LeaderboardSortMethod || (exports.LeaderboardSortMethod = LeaderboardSortMethod = {}));
16
+ /**
17
+ * Leaderboard display types
18
+ */
19
+ var LeaderboardDisplayType;
20
+ (function (LeaderboardDisplayType) {
21
+ LeaderboardDisplayType[LeaderboardDisplayType["None"] = 0] = "None";
22
+ LeaderboardDisplayType[LeaderboardDisplayType["Numeric"] = 1] = "Numeric";
23
+ LeaderboardDisplayType[LeaderboardDisplayType["TimeSeconds"] = 2] = "TimeSeconds";
24
+ LeaderboardDisplayType[LeaderboardDisplayType["TimeMilliseconds"] = 3] = "TimeMilliseconds"; // Score represents time in milliseconds
25
+ })(LeaderboardDisplayType || (exports.LeaderboardDisplayType = LeaderboardDisplayType = {}));
26
+ /**
27
+ * Leaderboard data request types
28
+ */
29
+ var LeaderboardDataRequest;
30
+ (function (LeaderboardDataRequest) {
31
+ LeaderboardDataRequest[LeaderboardDataRequest["Global"] = 0] = "Global";
32
+ LeaderboardDataRequest[LeaderboardDataRequest["GlobalAroundUser"] = 1] = "GlobalAroundUser";
33
+ LeaderboardDataRequest[LeaderboardDataRequest["Friends"] = 2] = "Friends";
34
+ LeaderboardDataRequest[LeaderboardDataRequest["Users"] = 3] = "Users"; // Entries for specific users
35
+ })(LeaderboardDataRequest || (exports.LeaderboardDataRequest = LeaderboardDataRequest = {}));
36
+ /**
37
+ * Leaderboard upload score methods
38
+ */
39
+ var LeaderboardUploadScoreMethod;
40
+ (function (LeaderboardUploadScoreMethod) {
41
+ LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["None"] = 0] = "None";
42
+ LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["KeepBest"] = 1] = "KeepBest";
43
+ LeaderboardUploadScoreMethod[LeaderboardUploadScoreMethod["ForceUpdate"] = 2] = "ForceUpdate"; // Always replace with new score
44
+ })(LeaderboardUploadScoreMethod || (exports.LeaderboardUploadScoreMethod = LeaderboardUploadScoreMethod = {}));
45
+ //# sourceMappingURL=leaderboards.js.map