Skip to content

Commit 425da94

Browse files
committed
Merge branch 'develop'
2 parents 6718f18 + faaa23a commit 425da94

File tree

595 files changed

+221130
-23421
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

595 files changed

+221130
-23421
lines changed

CHANGELOG.md

+247
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,247 @@
1+
# HaloSharp #
2+
3+
### Changelog ###
4+
5+
###### v.2.0.0.0 (2017-03-12)
6+
7+
1. Breaking changes galore!
8+
9+
2. Halo Wars 2 - Metadata Endpoints
10+
* Campaign Levels
11+
* Campaign Logs
12+
* Card Keywords
13+
* Cards
14+
* CSR Designations
15+
* Difficulties
16+
* Game Object Categories
17+
* Game Objects
18+
* Leader Powers
19+
* Leaders
20+
* Maps
21+
* Packs
22+
* Playlists
23+
* Seasons
24+
* Spartan Ranks
25+
* Techs
26+
27+
3. Halo Wars 2 - Stats Endpoints
28+
* Match Events
29+
* Match Result
30+
* Player Campaign Progress
31+
* Player Match History
32+
* Player Playlist Ratings
33+
* Player Seasons Stats Summary
34+
* Player Stats Summary
35+
* Player XPs
36+
37+
4. Halo 5 Forge - Stats Endpoints
38+
* Custom Carnage Report
39+
* Custom Service Record
40+
* Player Match History
41+
42+
###### v.1.6.1.0 (2016-12-08)
43+
44+
1. Updated RequisitionPack model.
45+
* New property: GiftableAcquisitionMethods
46+
* New property: IsGiftOnly
47+
48+
###### v.1.6.0.0 (2016-09-03)
49+
50+
1. Halo 5 - User Generated Content (UGC) Endpoints.
51+
* List Game Variants
52+
* Get Game Variant
53+
* List Map Variants
54+
* Get Map Variant
55+
56+
###### v.1.5.6.0 (2016-07-28)
57+
58+
1. Updated XpInfo model.
59+
* Updated: PerformanceXP
60+
61+
###### v.1.5.5.0 (2016-07-16)
62+
63+
1. Updated WarzoneMatch model.
64+
* Updated: PveTotalRoundAssistBonuses
65+
* Updated: PveTotalRoundKillBonuses
66+
* Updated: PveTotalRoundSpeedBonuses
67+
* Updated: PveTotalRoundSurvivalBonuses
68+
69+
###### v.1.5.4.0 (2016-06-30)
70+
71+
1. Updated Player Stat model.
72+
* New property: GameEndStatus
73+
74+
###### v.1.5.3.0 (2016-06-20)
75+
76+
1. Updated Warzone Match model.
77+
* New property: ObjectivesCompleted
78+
79+
###### v.1.5.2.0 (2016-06-02)
80+
81+
1. Updated Service Record models.
82+
* New property: FastestMatchWin
83+
84+
1. Updated ArenaMatch model.
85+
* New property: BoostInfo
86+
87+
1. Updated WarzoneMatch model.
88+
* New property: BoostInfo
89+
* New property: PveTotalRoundAssistBonuses
90+
* New property: PveTotalRoundKillBonuses
91+
* New property: PveTotalRoundSpeedBonuses
92+
* New property: PveTotalRoundSurvivalBonuses
93+
94+
###### v.1.5.1.0 (2016-05-12)
95+
96+
1. Added new Medal Enum (Infection Hype!).
97+
98+
###### v.1.5.0.0 (2016-04-21)
99+
100+
1. Halo 5 - Stats Endpoints.
101+
* Leaderboard for Season Playlists
102+
103+
2. Updated MatchEvents model
104+
* New Event Types (Impulses, Medals, Player Spawns, Round Starts, Round Ends, Weapon Drops, Weapon Pickups, and Weapon Pickup Pads)
105+
106+
3. Updated ArenaPlaylistStat model.
107+
* New property: CsrPercentile
108+
109+
4. Updated XpInfo/CreditsEarned models.
110+
* New property: MatchSpeedWinAmount
111+
* New property: ObjectivesCompletedAmount
112+
113+
###### v.1.4.4.0 (2016-04-21)
114+
115+
1. Fixed the TimeSinceStart property on GameEvents. Should have been a TimeSpan from the start.
116+
117+
###### v.1.4.3.0 (2016-04-15)
118+
119+
1. Fixed a bug where getting an Arena Service Record for a defunct Gamertag would throw an exception.
120+
121+
###### v.1.4.2.0 (2016-04-06)
122+
123+
1. Updated MatchEvents model.
124+
* Rename: KillerAttachmentIds to KillerWeaponAttachmentIds
125+
* Rename: KillerStockId to KillerWeaponStockId
126+
127+
2. Fixed a bunch of tests related to MatchEvents.
128+
129+
###### v.1.4.1.0 (2016-04-05)
130+
131+
1. Fixed a bug where I was using an int instead of an Enum (DeathDisposition)
132+
133+
###### v.1.4.0.0 (2016-04-05)
134+
135+
1. Halo 5 - Stats Endpoints.
136+
* Events for Match
137+
138+
###### v.1.3.2.0 (2016-04-04)
139+
140+
1. Updated BaseMatch model.
141+
* New property: GameVariantResourceId
142+
* New property: MapVariantResourceId
143+
144+
1. Updated BasePlayerStat model.
145+
* New property: PlayerScore (Firefight Hype!?)
146+
147+
###### v.1.3.1.0 (2016-03-16)
148+
149+
1. Fixed a bug where every result is cached when the CacheDuration was not set.
150+
151+
###### v.1.3.0.0 (2016-03-13)
152+
153+
1. Fixed an issue with unhandled HighestCsrSeasonId values (Reported by 'b01000100' and 'RHIT Propensity').
154+
2. Added the ability to specify cache durations (expiration). Metadata, Profile, and Stats can be independently set (or not at all).
155+
3. Fixed a couple of spelling mistakes. Breaking change :)
156+
157+
###### v.1.2.3.0 (2016-02-25)
158+
159+
1. Updated Medal enum.
160+
* New Medal Type: Ball
161+
162+
###### v.1.2.2.0 (2016-02-20)
163+
164+
1. Updated Medal enum.
165+
* New Medal Type: Goal
166+
167+
2. Updated Requisition model.
168+
* New property: HideIfNotAcquired
169+
170+
###### v.1.2.1.0 (2016-02-14)
171+
172+
1. Updated CampaignMatch model.
173+
* New property: CharacterIndex
174+
175+
2. Updated MatchSet model.
176+
* New property: MatchCompletedDateFidelity
177+
178+
###### v.1.2.0.0 (2016-01-31)
179+
180+
1. Query validation.
181+
* Validation exceptions will be thrown for bad queries (missing mandatory fields, invalid gamertags etc.).
182+
183+
2. Updated GetArenaServiceRecord query.
184+
* New SeasonId parameter.
185+
186+
3. Updated ArenaServiceRecord model.
187+
* New property: ArenaPlaylistStatsSeasonId
188+
* New property: HighestCsrSeasonId
189+
190+
4. Updated Requisition model.
191+
* New property: LevelRequirement
192+
193+
###### v.1.1.0.0 (2015-12-26)
194+
195+
1. Rate Limiter
196+
* Optional rate limiter with timeout settings.
197+
198+
2. JSON Structural Validation (JSON Schema).
199+
* A significant update to the test harness. Using JSON schemas to detect changes to API responses.
200+
201+
3. Serialization.
202+
* Strongly typed models are now serializable.
203+
204+
4. Halo 5 - Metadata Endpoints.
205+
* Seasons
206+
207+
5. Halo 5 - Profile Endpoints
208+
* Emblem Url
209+
* Spartan Url
210+
211+
###### v.1.0.0.0 (2015-11-04)######
212+
213+
1. Halo 5 - Metadata Endpoints
214+
* Campaign Missions
215+
* Commendations
216+
* CSR Designations
217+
* Enemies
218+
* Flexible Stats
219+
* Game Base Variants
220+
* Game Variants
221+
* Impulses
222+
* Map Variants
223+
* Maps
224+
* Medals
225+
* Playlists
226+
* Requisition Packs
227+
* Requisitions
228+
* Skulls
229+
* Spartan Ranks
230+
* Team Colors
231+
* Vehicles
232+
* Weapons
233+
234+
2. Halo 5 - Profile Endpoints
235+
* Emblem Image
236+
* Spartan Image
237+
238+
3. Halo 5 - Stats Endpoints
239+
* Player Matches
240+
* Arena Carnage Report
241+
* Arena Service Record
242+
* Campaign Carnage Report
243+
* Campaign Service Record
244+
* Custom Carnage Report
245+
* Custom Service Record
246+
* Warzone Carnage Report
247+
* Warzone Service Record

Examples/HaloSharp.Console/App.config

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
5+
</startup>
6+
<appSettings>
7+
<add key="SubscriptionKey" value="SECRET"/> <!-- https://developer.haloapi.com/products -->
8+
</appSettings>
9+
</configuration>
+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
using System;
2+
using HaloSharp.Extension;
3+
using System.Threading.Tasks;
4+
5+
namespace HaloSharp.Console
6+
{
7+
internal class Application : IApplication
8+
{
9+
private static readonly object MessageLock = new object();
10+
11+
private readonly IHaloSession _haloSession;
12+
13+
public Application(IHaloSession haloSession)
14+
{
15+
_haloSession = haloSession;
16+
}
17+
18+
public void Run()
19+
{
20+
const string player = "Furiousn00b";
21+
22+
var printHalo5MatchHistoryForPlayerTask = PrintHalo5MatchHistoryForPlayer(player);
23+
var printHalo5ForgeMatchHistoryForPlayerTask = PrintHalo5ForgeMatchHistoryForPlayer(player);
24+
var printHaloWars2MatchHistoryForPlayerTask = PrintHaloWars2MatchHistoryForPlayer(player);
25+
26+
Task.WaitAll(printHalo5MatchHistoryForPlayerTask, printHalo5ForgeMatchHistoryForPlayerTask, printHaloWars2MatchHistoryForPlayerTask);
27+
28+
System.Console.ReadLine();
29+
}
30+
31+
private async Task PrintHalo5MatchHistoryForPlayer(string player)
32+
{
33+
var query = new Query.Halo5.Stats.GetMatchHistory(player);
34+
35+
var matchSet = await _haloSession.Query(query);
36+
37+
foreach (var match in matchSet.Results)
38+
{
39+
Print($" Halo 5: {match.Id.MatchId}", ConsoleColor.Cyan);
40+
}
41+
}
42+
43+
private async Task PrintHalo5ForgeMatchHistoryForPlayer(string player)
44+
{
45+
var query = new Query.Halo5Forge.Stats.GetMatchHistory(player);
46+
47+
var matchSet = await _haloSession.Query(query);
48+
49+
foreach (var match in matchSet.Results)
50+
{
51+
Print($"Halo 5: Forge: {match.Id.MatchId}", ConsoleColor.Magenta);
52+
}
53+
}
54+
55+
private async Task PrintHaloWars2MatchHistoryForPlayer(string player)
56+
{
57+
var query = new Query.HaloWars2.Stats.GetMatchHistory(player);
58+
59+
var matchSet = await _haloSession.Query(query);
60+
61+
foreach (var match in matchSet.Results)
62+
{
63+
Print($" Halo Wars 2: {match.MatchId}", ConsoleColor.Yellow);
64+
}
65+
}
66+
67+
private static void Print(string message, ConsoleColor colour)
68+
{
69+
lock (MessageLock)
70+
{
71+
System.Console.ForegroundColor = colour;
72+
System.Console.WriteLine(message);
73+
System.Console.ResetColor();
74+
}
75+
}
76+
}
77+
}

0 commit comments

Comments
 (0)