The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'!
https://forums.lestoria.net
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.1 KiB
34 lines
1.1 KiB
#pragma once
|
|
|
|
#include "types.h"
|
|
|
|
namespace discord {
|
|
|
|
class AchievementManager final {
|
|
public:
|
|
~AchievementManager() = default;
|
|
|
|
void SetUserAchievement(Snowflake achievementId,
|
|
std::uint8_t percentComplete,
|
|
std::function<void(Result)> callback);
|
|
void FetchUserAchievements(std::function<void(Result)> callback);
|
|
void CountUserAchievements(std::int32_t* count);
|
|
Result GetUserAchievement(Snowflake userAchievementId, UserAchievement* userAchievement);
|
|
Result GetUserAchievementAt(std::int32_t index, UserAchievement* userAchievement);
|
|
|
|
Event<UserAchievement const&> OnUserAchievementUpdate;
|
|
|
|
private:
|
|
friend class Core;
|
|
|
|
AchievementManager() = default;
|
|
AchievementManager(AchievementManager const& rhs) = delete;
|
|
AchievementManager& operator=(AchievementManager const& rhs) = delete;
|
|
AchievementManager(AchievementManager&& rhs) = delete;
|
|
AchievementManager& operator=(AchievementManager&& rhs) = delete;
|
|
|
|
IDiscordAchievementManager* internal_;
|
|
static IDiscordAchievementEvents events_;
|
|
};
|
|
|
|
} // namespace discord
|
|
|