v1.3.0.1 (Epic Store release)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
namespace Barotrauma;
|
||||
|
||||
public static partial class EosInterface
|
||||
{
|
||||
public enum AchievementUnlockError
|
||||
{
|
||||
Unknown,
|
||||
InvalidUser,
|
||||
EosNotInitialized,
|
||||
TimedOut,
|
||||
InvalidParameters,
|
||||
NotFound
|
||||
}
|
||||
|
||||
public enum IngestStatError
|
||||
{
|
||||
Unknown,
|
||||
InvalidUser,
|
||||
EosNotInitialized,
|
||||
TimedOut,
|
||||
InvalidParameters,
|
||||
NotFound
|
||||
}
|
||||
|
||||
public enum QueryStatsError
|
||||
{
|
||||
Unknown,
|
||||
InvalidUser,
|
||||
EosNotInitialized,
|
||||
TimedOut,
|
||||
InvalidParameters,
|
||||
NotFound
|
||||
}
|
||||
|
||||
public enum QueryAchievementsError
|
||||
{
|
||||
Unknown,
|
||||
InvalidUser,
|
||||
InvalidProductUserID,
|
||||
EosNotInitialized,
|
||||
TimedOut,
|
||||
InvalidParameters,
|
||||
NotFound
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
using System.Collections.Immutable;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Barotrauma;
|
||||
|
||||
public static partial class EosInterface
|
||||
{
|
||||
public static class Achievements
|
||||
{
|
||||
private static Implementation? LoadedImplementation => Core.LoadedImplementation;
|
||||
|
||||
public static async Task<Result<uint, AchievementUnlockError>> UnlockAchievements(
|
||||
params Identifier[] achievementIds)
|
||||
=> LoadedImplementation.IsInitialized()
|
||||
? await LoadedImplementation.UnlockAchievements(achievementIds)
|
||||
: Result.Failure(AchievementUnlockError.EosNotInitialized);
|
||||
|
||||
public static async Task<Result<Unit, IngestStatError>> IngestStats(
|
||||
params (AchievementStat Stat, int IngestAmount)[] stats)
|
||||
=> LoadedImplementation.IsInitialized()
|
||||
? await LoadedImplementation.IngestStats(stats)
|
||||
: Result.Failure(IngestStatError.EosNotInitialized);
|
||||
|
||||
public static Task<Result<ImmutableDictionary<AchievementStat, int>, QueryStatsError>> QueryStats(
|
||||
params AchievementStat[] stats)
|
||||
=> QueryStats(stats.ToImmutableArray());
|
||||
|
||||
public static async Task<Result<ImmutableDictionary<AchievementStat, int>, QueryStatsError>> QueryStats(
|
||||
ImmutableArray<AchievementStat> stats)
|
||||
=> LoadedImplementation.IsInitialized()
|
||||
? await LoadedImplementation.QueryStats(stats)
|
||||
: Result.Failure(QueryStatsError.EosNotInitialized);
|
||||
|
||||
public static async Task<Result<ImmutableDictionary<Identifier, double>, QueryAchievementsError>>
|
||||
QueryPlayerAchievements()
|
||||
=> LoadedImplementation.IsInitialized()
|
||||
? await LoadedImplementation.QueryPlayerAchievements()
|
||||
: Result.Failure(QueryAchievementsError.EosNotInitialized);
|
||||
}
|
||||
|
||||
internal abstract partial class Implementation
|
||||
{
|
||||
public abstract Task<Result<uint, AchievementUnlockError>> UnlockAchievements(
|
||||
params Identifier[] achievementIds);
|
||||
|
||||
public abstract Task<Result<Unit, IngestStatError>> IngestStats(
|
||||
params (AchievementStat Stat, int IngestAmount)[] stats);
|
||||
|
||||
public abstract Task<Result<ImmutableDictionary<AchievementStat, int>, QueryStatsError>> QueryStats(
|
||||
ImmutableArray<AchievementStat> stats);
|
||||
|
||||
public abstract Task<Result<ImmutableDictionary<Identifier, double>, QueryAchievementsError>>
|
||||
QueryPlayerAchievements();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user