steamworks-ffi-node 0.1.1 → 0.2.0
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.
- package/README.md +63 -129
- package/THIRD_PARTY_LICENSES.md +24 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -18
- package/dist/index.js.map +1 -1
- package/dist/internal/SteamAPICore.d.ts +46 -0
- package/dist/internal/SteamAPICore.d.ts.map +1 -0
- package/dist/internal/SteamAPICore.js +185 -0
- package/dist/internal/SteamAPICore.js.map +1 -0
- package/dist/internal/SteamAchievementManager.d.ts +117 -0
- package/dist/internal/SteamAchievementManager.d.ts.map +1 -0
- package/dist/internal/SteamAchievementManager.js +673 -0
- package/dist/internal/SteamAchievementManager.js.map +1 -0
- package/dist/internal/SteamLibraryLoader.d.ts +52 -0
- package/dist/internal/SteamLibraryLoader.d.ts.map +1 -0
- package/dist/internal/SteamLibraryLoader.js +134 -0
- package/dist/internal/SteamLibraryLoader.js.map +1 -0
- package/dist/steam.d.ts +88 -30
- package/dist/steam.d.ts.map +1 -1
- package/dist/steam.js +126 -316
- package/dist/steam.js.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { SteamAchievement, AchievementProgressLimits, UserAchievement, AchievementGlobalStats, AchievementWithIcon } from '../types';
|
|
2
|
+
import { SteamLibraryLoader } from './SteamLibraryLoader';
|
|
3
|
+
import { SteamAPICore } from './SteamAPICore';
|
|
4
|
+
/**
|
|
5
|
+
* Manages all Steam achievement operations
|
|
6
|
+
*/
|
|
7
|
+
export declare class SteamAchievementManager {
|
|
8
|
+
private libraryLoader;
|
|
9
|
+
private apiCore;
|
|
10
|
+
constructor(libraryLoader: SteamLibraryLoader, apiCore: SteamAPICore);
|
|
11
|
+
/**
|
|
12
|
+
* Get all achievements from Steam
|
|
13
|
+
*/
|
|
14
|
+
getAllAchievements(): Promise<SteamAchievement[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Unlock achievement in Steam
|
|
17
|
+
*/
|
|
18
|
+
unlockAchievement(achievementName: string): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Clear achievement in Steam (for testing)
|
|
21
|
+
*/
|
|
22
|
+
clearAchievement(achievementName: string): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Check if achievement is unlocked
|
|
25
|
+
*/
|
|
26
|
+
isAchievementUnlocked(achievementName: string): Promise<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Get achievement by API name
|
|
29
|
+
*/
|
|
30
|
+
getAchievementByName(achievementName: string): Promise<SteamAchievement | null>;
|
|
31
|
+
/**
|
|
32
|
+
* Get total number of achievements
|
|
33
|
+
*/
|
|
34
|
+
getTotalAchievementCount(): Promise<number>;
|
|
35
|
+
/**
|
|
36
|
+
* Get number of unlocked achievements
|
|
37
|
+
*/
|
|
38
|
+
getUnlockedAchievementCount(): Promise<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Get achievement icon handle
|
|
41
|
+
* Returns icon handle for use with ISteamUtils::GetImageRGBA()
|
|
42
|
+
* Returns 0 if no icon set or still loading
|
|
43
|
+
*/
|
|
44
|
+
getAchievementIcon(achievementName: string): Promise<number>;
|
|
45
|
+
/**
|
|
46
|
+
* Indicate achievement progress to user
|
|
47
|
+
* Shows a progress notification in Steam overlay
|
|
48
|
+
*/
|
|
49
|
+
indicateAchievementProgress(achievementName: string, currentProgress: number, maxProgress: number): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Get achievement progress limits (for integer-based progress)
|
|
52
|
+
*/
|
|
53
|
+
getAchievementProgressLimitsInt(achievementName: string): Promise<AchievementProgressLimits | null>;
|
|
54
|
+
/**
|
|
55
|
+
* Get achievement progress limits (for float-based progress)
|
|
56
|
+
*/
|
|
57
|
+
getAchievementProgressLimitsFloat(achievementName: string): Promise<AchievementProgressLimits | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Request stats for another user (friend)
|
|
60
|
+
* This is async - you need to wait for the callback before calling getUserAchievement
|
|
61
|
+
*/
|
|
62
|
+
requestUserStats(steamId: string): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Get achievement status for another user (friend)
|
|
65
|
+
* Must call requestUserStats() first and wait for callback
|
|
66
|
+
*/
|
|
67
|
+
getUserAchievement(steamId: string, achievementName: string): Promise<UserAchievement | null>;
|
|
68
|
+
/**
|
|
69
|
+
* Request global achievement percentages
|
|
70
|
+
* This is async - wait for callback before calling getAchievementAchievedPercent
|
|
71
|
+
*/
|
|
72
|
+
requestGlobalAchievementPercentages(): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Get percentage of users who unlocked a specific achievement
|
|
75
|
+
* Must call requestGlobalAchievementPercentages() first
|
|
76
|
+
*/
|
|
77
|
+
getAchievementAchievedPercent(achievementName: string): Promise<number | null>;
|
|
78
|
+
/**
|
|
79
|
+
* Get all achievements with global unlock percentages
|
|
80
|
+
* Must call requestGlobalAchievementPercentages() first and wait for callback
|
|
81
|
+
*/
|
|
82
|
+
getAllAchievementsWithGlobalStats(): Promise<AchievementGlobalStats[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Get most achieved achievement info
|
|
85
|
+
* Returns iterator for use with getNextMostAchievedAchievementInfo
|
|
86
|
+
*/
|
|
87
|
+
getMostAchievedAchievementInfo(): Promise<{
|
|
88
|
+
apiName: string;
|
|
89
|
+
percent: number;
|
|
90
|
+
unlocked: boolean;
|
|
91
|
+
iterator: number;
|
|
92
|
+
} | null>;
|
|
93
|
+
/**
|
|
94
|
+
* Get next most achieved achievement info (iterate by popularity)
|
|
95
|
+
*/
|
|
96
|
+
getNextMostAchievedAchievementInfo(previousIterator: number): Promise<{
|
|
97
|
+
apiName: string;
|
|
98
|
+
percent: number;
|
|
99
|
+
unlocked: boolean;
|
|
100
|
+
iterator: number;
|
|
101
|
+
} | null>;
|
|
102
|
+
/**
|
|
103
|
+
* Get all achievements sorted by global unlock percentage (most achieved first)
|
|
104
|
+
* Must call requestGlobalAchievementPercentages() first
|
|
105
|
+
*/
|
|
106
|
+
getAllAchievementsSortedByPopularity(): Promise<AchievementGlobalStats[]>;
|
|
107
|
+
/**
|
|
108
|
+
* Reset all stats and optionally achievements
|
|
109
|
+
* WARNING: This clears ALL user stats and achievements!
|
|
110
|
+
*/
|
|
111
|
+
resetAllStats(includeAchievements?: boolean): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* Get all achievements with icon handles
|
|
114
|
+
*/
|
|
115
|
+
getAllAchievementsWithIcons(): Promise<AchievementWithIcon[]>;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=SteamAchievementManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SteamAchievementManager.d.ts","sourceRoot":"","sources":["../../src/internal/SteamAchievementManager.ts"],"names":[],"mappings":"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"}
|