/// <summary>
 /// Initializes a new instance of the <see cref="DestinyHistoricalStatsDestinyClanAggregateStat" /> class.
 /// </summary>
 /// <param name="Mode">The id of the mode of stats (allPvp, allPvE, etc).</param>
 /// <param name="StatId">The id of the stat.</param>
 /// <param name="Value">Value of the stat for this player.</param>
 public DestinyHistoricalStatsDestinyClanAggregateStat(DestinyHistoricalStatsDefinitionsDestinyActivityModeType Mode = default(DestinyHistoricalStatsDefinitionsDestinyActivityModeType), string StatId = default(string), DestinyHistoricalStatsDestinyHistoricalStatsValue Value = default(DestinyHistoricalStatsDestinyHistoricalStatsValue))
 {
     this.Mode   = Mode;
     this.StatId = StatId;
     this.Value  = Value;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DestinyHistoricalStatsDestinyHistoricalStatsActivity" /> class.
 /// </summary>
 /// <param name="ReferenceId">The unique hash identifier of the DestinyActivityDefinition that was played. If I had this to do over, it&#39;d be named activityHash. Too late now..</param>
 /// <param name="DirectorActivityHash">The unique hash identifier of the DestinyActivityDefinition that was played..</param>
 /// <param name="InstanceId">The unique identifier for this *specific* match that was played.  This value can be used to get additional data about this activity such as who else was playing via the GetPostGameCarnageReport endpoint..</param>
 /// <param name="Mode">Indicates the most specific game mode of the activity that we could find..</param>
 /// <param name="Modes">The list of all Activity Modes to which this activity applies, including aggregates. This will let you see, for example, whether the activity was both Clash and part of the Trials of the Nine event..</param>
 /// <param name="IsPrivate">Whether or not the match was a private match. There&#39;s no private matches in Destiny 2... yet... DUN DUN DUNNNN.</param>
 public DestinyHistoricalStatsDestinyHistoricalStatsActivity(uint?ReferenceId = default(uint?), uint?DirectorActivityHash = default(uint?), long?InstanceId = default(long?), DestinyHistoricalStatsDefinitionsDestinyActivityModeType Mode = default(DestinyHistoricalStatsDefinitionsDestinyActivityModeType), List <DestinyHistoricalStatsDefinitionsDestinyActivityModeType> Modes = default(List <DestinyHistoricalStatsDefinitionsDestinyActivityModeType>), bool?IsPrivate = default(bool?))
 {
     this.ReferenceId          = ReferenceId;
     this.DirectorActivityHash = DirectorActivityHash;
     this.InstanceId           = InstanceId;
     this.Mode      = Mode;
     this.Modes     = Modes;
     this.IsPrivate = IsPrivate;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DestinyDefinitionsDestinyActivityModeDefinition" /> class.
 /// </summary>
 /// <param name="DisplayProperties">DisplayProperties.</param>
 /// <param name="PgcrImage">If this activity mode has a related PGCR image, this will be the path to said image..</param>
 /// <param name="ModeType">The Enumeration value for this Activity Mode. Pass this identifier into Stats endpoints to get aggregate stats for this mode..</param>
 /// <param name="ActivityModeCategory">The type of play being performed in broad terms (PVP, PVE).</param>
 /// <param name="IsTeamBased">If True, this mode has oppositional teams fighting against each other rather than \&quot;Free-For-All\&quot; or Co-operative modes of play.  Note that Aggregate modes are never marked as team based, even if they happen to be team based at the moment. At any time, an aggregate whose subordinates are only team based could be changed so that one or more aren&#39;t team based, and then this boolean won&#39;t make much sense (the aggregation would become \&quot;sometimes team based\&quot;). Let&#39;s not deal with that right now..</param>
 /// <param name="IsAggregateMode">If true, this mode is an aggregation of other, more specific modes rather than being a mode in itself. This includes modes that group Features/Events rather than Gameplay, such as Trials of The Nine: Trials of the Nine being an Event that is interesting to see aggregate data for, but when you play the activities within Trials of the Nine they are more specific activity modes such as Clash..</param>
 /// <param name="ParentHashes">The hash identifiers of the DestinyActivityModeDefinitions that represent all of the \&quot;parent\&quot; modes for this mode. For instance, the Nightfall Mode is also a member of AllStrikes and AllPvE..</param>
 /// <param name="FriendlyName">A Friendly identifier you can use for referring to this Activity Mode. We really only used this in our URLs, so... you know, take that for whatever it&#39;s worth..</param>
 /// <param name="ActivityModeMappings">If this exists, the mode has specific Activities (referred to by the Key) that should instead map to other Activity Modes when they are played. This was useful in D1 for Private Matches, where we wanted to have Private Matches as an activity mode while still referring to the specific mode being played..</param>
 /// <param name="Display">If FALSE, we want to ignore this type when we&#39;re showing activity modes in BNet UI. It will still be returned in case 3rd parties want to use it for any purpose..</param>
 /// <param name="Order">The relative ordering of activity modes..</param>
 /// <param name="Hash">The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to..</param>
 /// <param name="Index">The index of the entity as it was found in the investment tables..</param>
 /// <param name="Redacted">If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!.</param>
 public DestinyDefinitionsDestinyActivityModeDefinition(DestinyDefinitionsCommonDestinyDisplayPropertiesDefinition DisplayProperties = default(DestinyDefinitionsCommonDestinyDisplayPropertiesDefinition), string PgcrImage = default(string), DestinyHistoricalStatsDefinitionsDestinyActivityModeType ModeType = default(DestinyHistoricalStatsDefinitionsDestinyActivityModeType), DestinyDestinyActivityModeCategory ActivityModeCategory = default(DestinyDestinyActivityModeCategory), bool?IsTeamBased = default(bool?), bool?IsAggregateMode = default(bool?), List <uint?> ParentHashes = default(List <uint?>), string FriendlyName = default(string), Dictionary <string, DestinyHistoricalStatsDefinitionsDestinyActivityModeType> ActivityModeMappings = default(Dictionary <string, DestinyHistoricalStatsDefinitionsDestinyActivityModeType>), bool?Display = default(bool?), int?Order = default(int?), uint?Hash = default(uint?), int?Index = default(int?), bool?Redacted = default(bool?))
 {
     this.DisplayProperties    = DisplayProperties;
     this.PgcrImage            = PgcrImage;
     this.ModeType             = ModeType;
     this.ActivityModeCategory = ActivityModeCategory;
     this.IsTeamBased          = IsTeamBased;
     this.IsAggregateMode      = IsAggregateMode;
     this.ParentHashes         = ParentHashes;
     this.FriendlyName         = FriendlyName;
     this.ActivityModeMappings = ActivityModeMappings;
     this.Display  = Display;
     this.Order    = Order;
     this.Hash     = Hash;
     this.Index    = Index;
     this.Redacted = Redacted;
 }