Npc Data Structures
Functions
defaultMapGetNPC
▸ defaultMapGetNPC<V
, Args
>(map
, npc
, ...extraArgs
): V
Helper function to make using default maps with an index of PtrHash
easier. Use this instead of
the DefaultMap.getAndSetDefault
method if you have a default map of this type.
For example:
const v = {
run: {
npcsSpeedBoost: new DefaultMap<PtrHash, int>(0),
},
};
function npcUpdate(npc: EntityNPC) {
const speedBoost = defaultMapGetNPC(v.run.npcsSpeedBoost, npc);
// Do something with the speed boost.
}
Note that not all NPCs should be stored in a map with a PtrHash
as an index, so only use this
in the situations where that would be okay. (For example, Dark Esau should never be stored in a
map like this, because the scope of PtrHash
is per room and Dark Esau is persistent between
rooms.)
Type parameters
Name | Type |
---|---|
V | V |
Args | extends unknown [] |
Parameters
Name | Type |
---|---|
map | DefaultMap <PtrHash , V , Args > |
npc | EntityNPC |
...extraArgs | Args |
Returns
V
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:27
defaultMapSetNPC
▸ defaultMapSetNPC<V
>(map
, npc
, value
): void
Helper function to make using maps with an index of PtrHash
easier. Use this instead of the
Map.set
method if you have a map of this type.
Since Map
and DefaultMap
set values in the same way, this function is simply an alias for the
mapSetNPC
helper function.
Type parameters
Name |
---|
V |
Parameters
Name | Type |
---|---|
map | Map <PtrHash , V > |
npc | EntityNPC |
value | V |
Returns
void
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:43
mapDeleteNPC
▸ mapDeleteNPC(map
, npc
): boolean
Helper function to make using maps with an type of PtrHash
easier. Use this instead of the
Map.delete
method if you have a set of this type.
Parameters
Name | Type |
---|---|
map | Map <PtrHash , unknown > |
npc | EntityNPC |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:56
mapGetNPC
▸ mapGetNPC<V
>(map
, npc
): V
| undefined
Helper function to make using maps with an index of PtrHash
easier. Use this instead of the
Map.get
method if you have a map of this type.
For example:
const v = {
run: {
npcsSpeedBoost: new Map<PtrHash, int>(),
},
};
function incrementSpeedBoost(npc: EntityNPC) {
const oldSpeedBoost = mapGetNPC(v.run.npcsSpeedBoost, npc);
const newSpeedBoost = oldSpeedBoost + 0.1;
mapSetNPC(v.run.npcsSpeedBoost, npc);
}
Type parameters
Name |
---|
V |
Parameters
Name | Type |
---|---|
map | ReadonlyMap <PtrHash , V > |
npc | EntityNPC |
Returns
V
| undefined
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:85
mapHasNPC
▸ mapHasNPC<V
>(map
, npc
): boolean
Helper function to make using maps with an index of PtrHash
easier. Use this instead of the
Map.has
method if you have a map of this type.
Type parameters
Name |
---|
V |
Parameters
Name | Type |
---|---|
map | ReadonlyMap <PtrHash , V > |
npc | EntityNPC |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:97
mapSetNPC
▸ mapSetNPC<V
>(map
, npc
, value
): void
Helper function to make using maps with an index of PtrHash
easier. Use this instead of the
Map.set
method if you have a map of this type.
For example:
const v = {
run: {
npcsSpeedBoost: new Map<PtrHash, int>(),
},
};
function incrementSpeedBoost(npc: EntityNPC) {
const oldSpeedBoost = mapGetNPC(v.run.npcsSpeedBoost, npc);
const newSpeedBoost = oldSpeedBoost + 0.1;
mapSetNPC(v.run.npcsSpeedBoost, npc);
}
Type parameters
Name |
---|
V |
Parameters
Name | Type |
---|---|
map | Map <PtrHash , V > |
npc | EntityNPC |
value | V |
Returns
void
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:125
setAddNPC
▸ setAddNPC(set
, npc
): void
Helper function to make using sets with an type of PtrHash
easier. Use this instead of the
Set.add
method if you have a set of this type.
Parameters
Name | Type |
---|---|
set | Set <PtrHash > |
npc | EntityNPC |
Returns
void
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:140
setDeleteNPC
▸ setDeleteNPC(set
, npc
): boolean
Helper function to make using sets with an type of PtrHash
easier. Use this instead of the
Set.delete
method if you have a set of this type.
Parameters
Name | Type |
---|---|
set | Set <PtrHash > |
npc | EntityNPC |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:150
setHasNPC
▸ setHasNPC(set
, npc
): boolean
Helper function to make using sets with an type of PtrHash
easier. Use this instead of the
Set.has
method if you have a set of this type.
Parameters
Name | Type |
---|---|
set | ReadonlySet <PtrHash > |
npc | EntityNPC |
Returns
boolean
Defined in
packages/isaacscript-common/src/functions/npcDataStructures.ts:159