Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update #3

Merged
merged 19 commits into from
Dec 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 2.0.0.{build}
version: 2.1.0.{build}
image: Visual Studio 2017
skip_tags: true

Expand Down
4 changes: 4 additions & 0 deletions src/pubg-dotnet/Models/Common/PubgPlatform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ public enum PubgPlatform
{
[EnumMember(Value = "steam")]
Steam,
[EnumMember(Value = "xbox")]
Xbox,
[EnumMember(Value = "psn")]
PlayStation,
[EnumMember(Value = "kakao")]
Kakao
}
Expand Down
3 changes: 3 additions & 0 deletions src/pubg-dotnet/Models/Common/PubgRegion.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public enum PubgRegion
[EnumMember(Value = "xbox-oc")]
XboxOceania,

[EnumMember(Value = "xbox-sa")]
XboxSouthAmerica,

//PC Regions
[EnumMember(Value = "pc-as")]
PCAsia,
Expand Down
15 changes: 15 additions & 0 deletions src/pubg-dotnet/Models/Leaderboard/PubgLeaderboard.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
using Newtonsoft.Json;
using Pubg.Net.Models.Base;
using System.Collections.Generic;

namespace Pubg.Net
{
public class PubgLeaderboard : PubgShardedEntity
{
[JsonProperty]
public PubgGameMode GameMode { get; set; }

[JsonProperty]
public IEnumerable<PubgLeaderboardPlayer> Players { get; set; }
}
}
17 changes: 17 additions & 0 deletions src/pubg-dotnet/Models/Leaderboard/PubgLeaderboardPlayer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
using Newtonsoft.Json;
using Pubg.Net.Models.Base;

namespace Pubg.Net
{
public class PubgLeaderboardPlayer : PubgShardedEntity
{
[JsonProperty]
public string Name { get; set; }

[JsonProperty]
public int Rank { get; set; }

[JsonProperty]
public PubgLeaderboardStats Stats { get; set; }
}
}
31 changes: 31 additions & 0 deletions src/pubg-dotnet/Models/Leaderboard/PubgLeaderboardStats.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
using Newtonsoft.Json;

namespace Pubg.Net
{
public class PubgLeaderboardStats
{
[JsonProperty]
public int AverageDamage { get; set; }

[JsonProperty]
public float AverageRank { get; set; }

[JsonProperty]
public int Games { get; set; }

[JsonProperty]
public int Kills { get; set; }

[JsonProperty]
public float KillDeathRatio { get; set; }

[JsonProperty]
public float RankPoints { get; set; }

[JsonProperty]
public float WinRatio { get; set; }

[JsonProperty]
public int Wins { get; set; }
}
}
23 changes: 17 additions & 6 deletions src/pubg-dotnet/Models/Match/PubgGameMode.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Pubg.Net.Infrastructure.Attributes;
using Pubg.Net.Infrastructure.JsonConverters;
using System.Runtime.Serialization;

namespace Pubg.Net
{
[JsonConverter(typeof(StringEnumConverter))]
[JsonConverter(typeof(DefaultValueStringEnumConverter))]
public enum PubgGameMode
{
[DefaultEnumMember]
Unknown,
[EnumMember(Value = "squad")]
Squad,
[EnumMember(Value = "squad-fpp")]
Expand All @@ -19,9 +22,17 @@ public enum PubgGameMode
Duo,
[EnumMember(Value = "duo-fpp")]
DuoFPP,
[EnumMember(Value = "warmodetpp")]
WarModeTPP,
[EnumMember(Value = "warmodefpp")]
WarModeFPP
[EnumMember(Value = "normal-duo")]
NormalDuo,
[EnumMember(Value = "normal-duo-fpp")]
NormalDuoFPP,
[EnumMember(Value = "normal-solo")]
NormalSolo,
[EnumMember(Value = "normal-solo-fpp")]
NormalSoloFPP,
[EnumMember(Value = "normal-squad")]
NormalSquad,
[EnumMember(Value = "normal-squad-fpp")]
NormalSquadFPP
}
}
9 changes: 7 additions & 2 deletions src/pubg-dotnet/Models/Match/PubgMatch.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
using Newtonsoft.Json;
using Pubg.Net.Models.Base;
using Pubg.Net.Models.Seasons;
using System;
using System.Collections.Generic;

namespace Pubg.Net
Expand All @@ -10,7 +12,7 @@ public class PubgMatch : PubgShardedEntity
public string CreatedAt { get; set; }

[JsonProperty]
public int Duration { get; set; }
public long Duration { get; set; }

[JsonProperty]
public IEnumerable<PubgRoster> Rosters { get; set; }
Expand All @@ -25,7 +27,7 @@ public class PubgMatch : PubgShardedEntity
public PubgMatchStats Stats { get; set; }

[JsonProperty]
public string GameMode { get; set; }
public PubgGameMode GameMode { get; set; }

[JsonProperty]
public string PatchVersion { get; set; }
Expand All @@ -41,5 +43,8 @@ public class PubgMatch : PubgShardedEntity

[JsonProperty]
public bool IsCustomMatch { get; set; }

[JsonProperty]
public PubgSeasonState SeasonState { get; set; }
}
}
20 changes: 20 additions & 0 deletions src/pubg-dotnet/Models/Seasons/PubgSeasonState.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using Newtonsoft.Json;
using Pubg.Net.Infrastructure.Attributes;
using Pubg.Net.Infrastructure.JsonConverters;
using System.Runtime.Serialization;

namespace Pubg.Net.Models.Seasons
{
[JsonConverter(typeof(DefaultValueStringEnumConverter))]
public enum PubgSeasonState
{
[DefaultEnumMember]
Unknown,
[EnumMember(Value = "closed")]
Closed,
[EnumMember(Value = "prepare")]
Prepare,
[EnumMember(Value = "progress")]
Progress
}
}
3 changes: 3 additions & 0 deletions src/pubg-dotnet/Models/Stats/PubgGameModeStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ public class PubgGameModeStats
[JsonProperty]
public float RankPoints { get; set; }

[JsonProperty]
public PubgRankPointsTitle RankPointsTitle { get; set; }

[JsonProperty]
public int Revives { get; set; }

Expand Down
3 changes: 0 additions & 3 deletions src/pubg-dotnet/Models/Stats/PubgParticipantStats.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,6 @@ public class PubgParticipantStats
[JsonProperty]
public int MostDamage { get; set; }

[JsonProperty]
public float RankPoints { get; set; }

[JsonProperty]
public int Revives { get; set; }

Expand Down
30 changes: 30 additions & 0 deletions src/pubg-dotnet/Models/Stats/PubgRankPointsTitle.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
using Newtonsoft.Json;
using Pubg.Net.Infrastructure.Attributes;
using Pubg.Net.Infrastructure.JsonConverters;
using System.Runtime.Serialization;

namespace Pubg.Net.Models.Stats
{
[JsonConverter(typeof(DefaultValueStringEnumConverter))]
public enum PubgRankPointsTitle
{
[DefaultEnumMember]
Unknown,
[EnumMember(Value = "BEGINNER")]
Beginner,
[EnumMember(Value = "NOVICE")]
Novice,
[EnumMember(Value = "EXPERIENCED")]
Experienced,
[EnumMember(Value = "SKILLED")]
Skilled,
[EnumMember(Value = "SPECIALIST")]
Specialist,
[EnumMember(Value = "EXPERT")]
Expert,
[EnumMember(Value = "SURVIVOR")]
Survivor,
[EnumMember(Value = "LONE SURVIVOR")]
LoneSurvivor
}
}
3 changes: 3 additions & 0 deletions src/pubg-dotnet/Models/Telemetry/Events/LogPlayerAttack.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ public class LogPlayerAttack : PubgTelemetryEvent
[JsonProperty]
public PubgAttackType AttackType { get; set; }

[JsonProperty]
public int FireWeaponStackCount { get; set; }

[JsonProperty]
public PubgItem Weapon { get; set; }

Expand Down
3 changes: 3 additions & 0 deletions src/pubg-dotnet/Models/Telemetry/Events/LogPlayerPosition.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@ public class LogPlayerPosition : PubgTelemetryEvent

[JsonProperty]
public int NumAlivePlayers { get; set; }

[JsonProperty]
public PubgVehicle Vehicle { get; set; }
}
}
35 changes: 35 additions & 0 deletions src/pubg-dotnet/Services/Leaderboard/PubgLeaderboardService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using JsonApiSerializer;
using Newtonsoft.Json;
using Pubg.Net.Infrastructure;
using Pubg.Net.Values;
using System.Threading;
using System.Threading.Tasks;

namespace Pubg.Net.Services.Leaderboard
{
public class PubgLeaderboardService : PubgService
{
public PubgLeaderboardService() : base() { }
public PubgLeaderboardService(string apiKey) : base(apiKey) { }

public virtual PubgLeaderboard GetGameModeLeaderboard(PubgPlatform platform, PubgGameMode gameMode, string apiKey = null)
{
var url = Api.Leaderboard.LeaderboardEndpoint(platform, gameMode);
apiKey = string.IsNullOrEmpty(apiKey) ? ApiKey : apiKey;

var leaderboardJson = HttpRequestor.GetString(url, apiKey);

return JsonConvert.DeserializeObject<PubgLeaderboard>(leaderboardJson, new JsonApiSerializerSettings());
}

public virtual async Task<PubgLeaderboard> GetGameModeLeaderboardAsync(PubgPlatform platform, PubgGameMode gameMode, string apiKey = null, CancellationToken cancellationToken = default(CancellationToken))
{
var url = Api.Leaderboard.LeaderboardEndpoint(platform, gameMode);
apiKey = string.IsNullOrEmpty(apiKey) ? ApiKey : apiKey;

var leaderboardJson = await HttpRequestor.GetStringAsync(url, cancellationToken, apiKey).ConfigureAwait(false);

return JsonConvert.DeserializeObject<PubgLeaderboard>(leaderboardJson, new JsonApiSerializerSettings());
}
}
}
Loading