UNPKG

bungie-net-core

Version:

An easy way to interact with the Bungie.net API

121 lines (120 loc) 5.75 kB
/** * Bungie.Net API * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality. * * Contact: support@bungie.com * * NOTE: This class is auto generated by the bungie-net-core code generator program * Repository: {@link https://github.com/owens1127/bungie-net-core} * Do not edit these files manually. */ import { DestinyDisplayPropertiesDefinition } from '../Common/DestinyDisplayPropertiesDefinition'; import { DestinyPresentationNodeType } from '../../DestinyPresentationNodeType'; import { DestinyScope } from '../../DestinyScope'; import { DestinyPresentationNodeChildrenBlock } from './DestinyPresentationNodeChildrenBlock'; import { DestinyPresentationDisplayStyle } from '../../DestinyPresentationDisplayStyle'; import { DestinyPresentationScreenStyle } from '../../DestinyPresentationScreenStyle'; import { DestinyPresentationNodeRequirementsBlock } from './DestinyPresentationNodeRequirementsBlock'; /** * A PresentationNode is an entity that represents a logical grouping of other * entities visually/organizationally. * * For now, Presentation Nodes may contain the following... but it may be used for * more in the future: * * - Collectibles - Records (Or, as the public will call them, "Triumphs." Don't * ask me why we're overloading the term "Triumph", it still hurts me to think * about it) - Metrics (aka Stat Trackers) - Other Presentation Nodes, allowing a * tree of Presentation Nodes to be created * * Part of me wants to break these into conceptual definitions per entity being * collected, but the possibility of these different types being mixed in the same * UI and the possibility that it could actually be more useful to return the "bare * metal" presentation node concept has resulted in me deciding against that for * the time being. * * We'll see if I come to regret this as well. * @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.Definitions.Presentation.DestinyPresentationNodeDefinition} */ export interface DestinyPresentationNodeDefinition { readonly displayProperties: DestinyDisplayPropertiesDefinition; /** The original icon for this presentation node, before we futzed with it. */ readonly originalIcon: string; /** * Some presentation nodes are meant to be explicitly shown on the "root" or "entry" * screens for the feature to which they are related. You should use this icon * when showing them on such a view, if you have a similar "entry point" view in * your UI. If you don't have a UI, then I guess it doesn't matter either way does * it? */ readonly rootViewIcon: string; readonly nodeType: DestinyPresentationNodeType; /** * Primarily for Guardian Ranks, this property if the contents of this node are * tied to the current season. These nodes are shown with a different color for the * in-game Guardian Ranks display. */ readonly isSeasonal: boolean; /** * Indicates whether this presentation node's state is determined on a per- * character or on an account-wide basis. */ readonly scope: DestinyScope; /** * If this presentation node shows a related objective (for instance, if it tracks * the progress of its children), the objective being tracked is indicated here. * Mapped to DestinyObjectiveDefinition in the manifest. */ readonly objectiveHash?: number; /** * If this presentation node has an associated "Record" that you can accomplish for * completing its children, this is the identifier of that Record. Mapped to * DestinyRecordDefinition in the manifest. */ readonly completionRecordHash?: number; /** The child entities contained by this presentation node. */ readonly children: DestinyPresentationNodeChildrenBlock; /** A hint for how to display this presentation node when it's shown in a list. */ readonly displayStyle: DestinyPresentationDisplayStyle; /** * A hint for how to display this presentation node when it's shown in its own * detail screen. */ readonly screenStyle: DestinyPresentationScreenStyle; /** * The requirements for being able to interact with this presentation node and its * children. */ readonly requirements: DestinyPresentationNodeRequirementsBlock; /** * If this presentation node has children, but the game doesn't let you inspect the * details of those children, that is indicated here. */ readonly disableChildSubscreenNavigation: boolean; readonly maxCategoryRecordScore: number; readonly presentationNodeType: DestinyPresentationNodeType; readonly traitIds: string[]; /** Mapped to DestinyTraitDefinition in the manifest. */ readonly traitHashes: number[]; /** * A quick reference to presentation nodes that have this node as a child. * Presentation nodes can be parented under multiple parents. Mapped to * DestinyPresentationNodeDefinition in the manifest. */ readonly parentNodeHashes: number[]; /** * 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. */ readonly hash: number; /** The index of the entity as it was found in the investment tables. */ readonly index: number; /** * If this is true, then there is an entity with this identifier/type combination, * but BNet is not yet allowed to show it. Sorry! */ readonly redacted: boolean; }