Falco Engine 3.9.0.1 (beta)
UserStats.cs
Go to the documentation of this file.
1using System;
2using System.Runtime.CompilerServices;
3
4namespace FalcoEngine
5{
6 public static partial class SteamAPI
7 {
8 public static class UserStats
9 {
11 {
12 Name,
13 Description,
14 Hidden
15 }
16
17 public delegate void UserStatsReceived(long gameID, Result result, User.SteamID steamIDUser);
19
20 public delegate void UserStatsStored(long gameID, Result result);
22
23 public delegate void UserAchievementStored(long gameID, string achievementName, int curProgress, int maxProgress);
25
26 public delegate void UserAchievementIconFetched(long gameID, string achievementName, bool achieved, int iconHandle);
28
29 [MethodImpl(MethodImplOptions.InternalCall)]
30 public static extern int GetNumAchievements();
31
32 [MethodImpl(MethodImplOptions.InternalCall)]
33 public static extern string GetAchievementName(int index);
34
35 [MethodImpl(MethodImplOptions.InternalCall)]
36 public static extern bool RequestCurrentStats();
37
38 public static bool RequestUserStats(User.SteamID steamID)
39 {
40 return INTERNAL_RequestUserStats(ref steamID);
41 }
42
43 [MethodImpl(MethodImplOptions.InternalCall)]
44 public static extern bool StoreStats();
45
46 public static bool GetUserAchievement(User.SteamID steamID, string name)
47 {
48 return INTERNAL_GetUserAchievement(ref steamID, name);
49 }
50
51 [MethodImpl(MethodImplOptions.InternalCall)]
52 public static extern bool GetAchievement(string name);
53
54 [MethodImpl(MethodImplOptions.InternalCall)]
55 private static extern bool INTERNAL_RequestUserStats(ref User.SteamID steamID);
56
57 [MethodImpl(MethodImplOptions.InternalCall)]
58 private static extern bool INTERNAL_GetUserAchievement(ref User.SteamID steamID, string name);
59
60 [MethodImpl(MethodImplOptions.InternalCall)]
61 public static extern int GetAchievementIcon(string name);
62
63 [MethodImpl(MethodImplOptions.InternalCall)]
64 public static extern bool SetAchievement(string name);
65
66 [MethodImpl(MethodImplOptions.InternalCall)]
67 public static extern bool ClearAchievement(string name);
68
69 public static string GetAchievementDisplayAttribute(string name, AchievementDisplayAttribute displayAttribute)
70 {
71 return INTERNAL_GetAchievementDisplayAttribute(name, (int)displayAttribute);
72 }
73
74 [MethodImpl(MethodImplOptions.InternalCall)]
75 private static extern string INTERNAL_GetAchievementDisplayAttribute(string name, int displayAttribute);
76
77 private static void RunUserStatsReceivedCallbacks(long gameID, int result, User.SteamID steamIDUser)
78 {
79 OnUserStatsReceived?.Invoke(gameID, (Result)result, steamIDUser);
80 }
81
82 private static void RunUserStatsStoredCallbacks(long gameID, int result)
83 {
84 OnUserStatsStored?.Invoke(gameID, (Result)result);
85 }
86
87 private static void RunUserAchievementStoredCallbacks(long gameID, string achievementName, int curProgress, int maxProgress)
88 {
89 OnUserAchievementStored?.Invoke(gameID, achievementName, curProgress, maxProgress);
90 }
91
92 private static void RunUserAchievementIconFetchedCallbacks(long gameID, string achievementName, bool achieved, int iconHandle)
93 {
94 OnUserAchievementIconFetched?.Invoke(gameID, achievementName, achieved, iconHandle);
95 }
96 }
97 }
98}
delegate void UserStatsStored(long gameID, Result result)
delegate void UserStatsReceived(long gameID, Result result, User.SteamID steamIDUser)
static UserStatsReceived OnUserStatsReceived
Definition: UserStats.cs:18
static UserAchievementIconFetched OnUserAchievementIconFetched
Definition: UserStats.cs:27
static UserAchievementStored OnUserAchievementStored
Definition: UserStats.cs:24
static bool RequestUserStats(User.SteamID steamID)
Definition: UserStats.cs:38
static int GetAchievementIcon(string name)
delegate void UserAchievementIconFetched(long gameID, string achievementName, bool achieved, int iconHandle)
static bool GetAchievement(string name)
delegate void UserAchievementStored(long gameID, string achievementName, int curProgress, int maxProgress)
static string GetAchievementName(int index)
static bool GetUserAchievement(User.SteamID steamID, string name)
Definition: UserStats.cs:46
static string GetAchievementDisplayAttribute(string name, AchievementDisplayAttribute displayAttribute)
Definition: UserStats.cs:69
static bool SetAchievement(string name)
static UserStatsStored OnUserStatsStored
Definition: UserStats.cs:21
static bool ClearAchievement(string name)