isaacscript-common 4.0.0 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cachedClasses.ts +39 -0
- package/callbacks/customRevive.lua +2 -1
- package/callbacks/customRevive.ts +215 -0
- package/callbacks/itemPickup.ts +101 -0
- package/callbacks/postAmbush.ts +73 -0
- package/callbacks/postBombExploded.ts +26 -0
- package/callbacks/postBombInitLate.ts +36 -0
- package/callbacks/postBoneSwing.ts +64 -0
- package/callbacks/postCollectibleInitFirst.ts +40 -0
- package/callbacks/postCursedTeleport.lua +2 -1
- package/callbacks/postCursedTeleport.ts +185 -0
- package/callbacks/postCustomDoorEnter.lua +0 -7
- package/callbacks/postCustomDoorEnter.ts +292 -0
- package/callbacks/postDiceRoomActivated.ts +60 -0
- package/callbacks/postDoorRender.ts +26 -0
- package/callbacks/postDoorUpdate.ts +26 -0
- package/callbacks/postEffectInitLate.ts +36 -0
- package/callbacks/postEffectStateChanged.ts +43 -0
- package/callbacks/postEsauJr.lua +2 -1
- package/callbacks/postEsauJr.ts +109 -0
- package/callbacks/postFamiliarInitLate.ts +36 -0
- package/callbacks/postFamiliarStateChanged.ts +43 -0
- package/callbacks/postFlip.lua +4 -3
- package/callbacks/postFlip.ts +90 -0
- package/callbacks/postGreedModeWave.ts +41 -0
- package/callbacks/postGridEntity.ts +164 -0
- package/callbacks/postGridEntityCollision.ts +69 -0
- package/callbacks/postGridEntityRender.ts +26 -0
- package/callbacks/postHolyMantleRemoved.ts +55 -0
- package/callbacks/postItemDischarged.lua +4 -3
- package/callbacks/postItemDischarged.ts +154 -0
- package/callbacks/postKnifeInitLate.ts +36 -0
- package/callbacks/postLaserInitLate.ts +36 -0
- package/callbacks/postNPCInitLate.ts +36 -0
- package/callbacks/postNPCStateChanged.ts +42 -0
- package/callbacks/postNewRoomEarly.lua +2 -1
- package/callbacks/postNewRoomEarly.ts +96 -0
- package/callbacks/postPickupCollect.ts +48 -0
- package/callbacks/postPickupInitFirst.ts +70 -0
- package/callbacks/postPickupInitLate.ts +36 -0
- package/callbacks/postPickupStateChanged.ts +43 -0
- package/callbacks/postPitRender.ts +26 -0
- package/callbacks/postPitUpdate.ts +26 -0
- package/callbacks/postPlayerChangeHealth.ts +62 -0
- package/callbacks/postPlayerChangeType.ts +56 -0
- package/callbacks/postPlayerCollectible.ts +113 -0
- package/callbacks/postPlayerFatalDamage.ts +141 -0
- package/callbacks/postPlayerInitLate.ts +37 -0
- package/callbacks/postPlayerReordered.ts +142 -0
- package/callbacks/postPoopRender.ts +26 -0
- package/callbacks/postPoopUpdate.ts +26 -0
- package/callbacks/postPressurePlateRender.ts +26 -0
- package/callbacks/postPressurePlateUpdate.ts +26 -0
- package/callbacks/postProjectileInitLate.ts +36 -0
- package/callbacks/postPurchase.ts +64 -0
- package/callbacks/postRockRender.ts +26 -0
- package/callbacks/postRockUpdate.ts +26 -0
- package/callbacks/postRoomClearChanged.ts +57 -0
- package/callbacks/postSacrifice.lua +3 -2
- package/callbacks/postSacrifice.ts +64 -0
- package/callbacks/postSlotDestroyed.ts +92 -0
- package/callbacks/postSlotInitUpdate.ts +68 -0
- package/callbacks/postSlotRender.ts +69 -0
- package/callbacks/postSpikesRender.ts +26 -0
- package/callbacks/postSpikesUpdate.ts +26 -0
- package/callbacks/postTNTRender.ts +26 -0
- package/callbacks/postTNTUpdate.ts +26 -0
- package/callbacks/postTearInitLate.ts +36 -0
- package/callbacks/postTearInitVeryLate.ts +41 -0
- package/callbacks/postTransformation.ts +59 -0
- package/callbacks/postTrinketBreak.lua +3 -2
- package/callbacks/postTrinketBreak.ts +112 -0
- package/callbacks/preBerserkDeath.ts +49 -0
- package/callbacks/preNewLevel.ts +55 -0
- package/callbacks/reorderedCallbacks.lua +1 -0
- package/callbacks/reorderedCallbacks.ts +168 -0
- package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
- package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
- package/callbacks/subscriptions/postBombInitLate.ts +32 -0
- package/callbacks/subscriptions/postBoneExploded.ts +32 -0
- package/callbacks/subscriptions/postBoneSwing.ts +24 -0
- package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
- package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
- package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
- package/callbacks/subscriptions/postCustomRevive.ts +36 -0
- package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
- package/callbacks/subscriptions/postDoorRender.ts +35 -0
- package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
- package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
- package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
- package/callbacks/subscriptions/postEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
- package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
- package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
- package/callbacks/subscriptions/postFirstFlip.ts +24 -0
- package/callbacks/subscriptions/postFlip.ts +22 -0
- package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
- package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
- package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
- package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
- package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
- package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
- package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
- package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
- package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
- package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
- package/callbacks/subscriptions/postItemDischarged.ts +43 -0
- package/callbacks/subscriptions/postItemPickup.ts +64 -0
- package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
- package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
- package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
- package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
- package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
- package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
- package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPickupCollect.ts +35 -0
- package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
- package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
- package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
- package/callbacks/subscriptions/postPitRender.ts +35 -0
- package/callbacks/subscriptions/postPitUpdate.ts +35 -0
- package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
- package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
- package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
- package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
- package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
- package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
- package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
- package/callbacks/subscriptions/postPoopRender.ts +35 -0
- package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
- package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
- package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
- package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
- package/callbacks/subscriptions/postPurchase.ts +31 -0
- package/callbacks/subscriptions/postRockRender.ts +35 -0
- package/callbacks/subscriptions/postRockUpdate.ts +35 -0
- package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
- package/callbacks/subscriptions/postSacrifice.ts +43 -0
- package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
- package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
- package/callbacks/subscriptions/postSlotInit.ts +32 -0
- package/callbacks/subscriptions/postSlotRender.ts +32 -0
- package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
- package/callbacks/subscriptions/postSpikesRender.ts +35 -0
- package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
- package/callbacks/subscriptions/postTNTRender.ts +35 -0
- package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
- package/callbacks/subscriptions/postTearInitLate.ts +32 -0
- package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
- package/callbacks/subscriptions/postTransformation.ts +40 -0
- package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
- package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
- package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
- package/callbacks/subscriptions/preCustomRevive.ts +46 -0
- package/callbacks/subscriptions/preItemPickup.ts +64 -0
- package/callbacks/subscriptions/preNewLevel.ts +24 -0
- package/classes/DefaultMap.ts +174 -0
- package/classes/ModUpgraded.d.ts +5 -1
- package/classes/ModUpgraded.lua +2 -2
- package/classes/ModUpgraded.ts +84 -0
- package/constants.ts +162 -0
- package/constantsFirstLast.ts +217 -0
- package/enums/AmbushType.ts +4 -0
- package/enums/HealthType.ts +16 -0
- package/enums/ModCallbackCustom.d.ts +2 -2
- package/enums/ModCallbackCustom.ts +1278 -0
- package/enums/PocketItemType.ts +8 -0
- package/enums/SerializationType.ts +5 -0
- package/enums/SlotDestructionType.ts +4 -0
- package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
- package/enums/private/SaveDataKey.ts +14 -0
- package/enums/private/SerializationBrand.ts +42 -0
- package/features/characterHealthConversion.lua +2 -9
- package/features/characterHealthConversion.ts +111 -0
- package/features/characterStats.ts +61 -0
- package/features/debugDisplay/debugDisplay.ts +221 -0
- package/features/debugDisplay/exports.ts +368 -0
- package/features/debugDisplay/v.ts +65 -0
- package/features/deployJSONRoom.ts +743 -0
- package/features/disableInputs.ts +193 -0
- package/features/disableSound.ts +77 -0
- package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
- package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
- package/features/extraConsoleCommands/init.ts +334 -0
- package/features/extraConsoleCommands/listCommands.ts +1299 -0
- package/features/extraConsoleCommands/v.ts +14 -0
- package/features/fadeInRemover.ts +60 -0
- package/features/fastReset.ts +75 -0
- package/features/forgottenSwitch.ts +50 -0
- package/features/getCollectibleItemPoolType.ts +66 -0
- package/features/persistentEntities.ts +183 -0
- package/features/playerInventory.lua +1 -0
- package/features/playerInventory.ts +135 -0
- package/features/ponyDetection.ts +74 -0
- package/features/preventCollectibleRotation.ts +115 -0
- package/features/runInNFrames.ts +148 -0
- package/features/saveDataManager/constants.ts +4 -0
- package/features/saveDataManager/exports.ts +229 -0
- package/features/saveDataManager/load.ts +99 -0
- package/features/saveDataManager/main.ts +195 -0
- package/features/saveDataManager/maps.ts +13 -0
- package/features/saveDataManager/merge.ts +194 -0
- package/features/saveDataManager/save.ts +74 -0
- package/features/saveDataManager/serializationBrand.ts +16 -0
- package/features/sirenHelpers.ts +129 -0
- package/features/taintedLazarusPlayers.ts +113 -0
- package/featuresInitialized.ts +20 -0
- package/functions/ambush.ts +47 -0
- package/functions/array.ts +410 -0
- package/functions/benchmark.ts +36 -0
- package/functions/bitwise.ts +24 -0
- package/functions/bombs.ts +12 -0
- package/functions/boss.ts +227 -0
- package/functions/cacheFlag.ts +12 -0
- package/functions/cards.ts +271 -0
- package/functions/challenges.ts +13 -0
- package/functions/character.ts +126 -0
- package/functions/charge.ts +237 -0
- package/functions/chargeBar.ts +67 -0
- package/functions/collectibleCacheFlag.ts +90 -0
- package/functions/collectibleSet.ts +56 -0
- package/functions/collectibleTag.ts +89 -0
- package/functions/collectibles.ts +659 -0
- package/functions/color.lua +0 -7
- package/functions/color.ts +128 -0
- package/functions/debug.ts +68 -0
- package/functions/deepCopy.lua +46 -51
- package/functions/deepCopy.ts +535 -0
- package/functions/deepCopyTests.ts +386 -0
- package/functions/direction.ts +49 -0
- package/functions/doors.ts +347 -0
- package/functions/easing.ts +182 -0
- package/functions/eden.ts +47 -0
- package/functions/effects.ts +20 -0
- package/functions/entity.ts +439 -0
- package/functions/entitySpecific.ts +889 -0
- package/functions/entityTypes.ts +6 -0
- package/functions/enums.ts +146 -0
- package/functions/familiars.ts +106 -0
- package/functions/flag.ts +165 -0
- package/functions/flying.ts +117 -0
- package/functions/globals.ts +242 -0
- package/functions/gridEntity.ts +511 -0
- package/functions/gridEntitySpecific.ts +112 -0
- package/functions/input.ts +139 -0
- package/functions/isaacAPIClass.ts +67 -0
- package/functions/jsonHelpers.ts +45 -0
- package/functions/jsonRoom.ts +100 -0
- package/functions/kColor.lua +0 -7
- package/functions/kColor.ts +129 -0
- package/functions/language.ts +13 -0
- package/functions/level.ts +31 -0
- package/functions/log.ts +720 -0
- package/functions/map.ts +56 -0
- package/functions/math.ts +149 -0
- package/functions/mergeTests.ts +288 -0
- package/functions/npc.ts +148 -0
- package/functions/pickupVariants.ts +60 -0
- package/functions/pickups.ts +499 -0
- package/functions/pills.ts +205 -0
- package/functions/player.lua +9 -20
- package/functions/player.ts +1056 -0
- package/functions/playerDataStructures.ts +150 -0
- package/functions/playerHealth.lua +28 -39
- package/functions/playerHealth.ts +382 -0
- package/functions/playerIndex.ts +195 -0
- package/functions/pocketItems.ts +149 -0
- package/functions/positionVelocity.ts +188 -0
- package/functions/random.ts +77 -0
- package/functions/revive.ts +201 -0
- package/functions/rng.lua +0 -7
- package/functions/rng.ts +172 -0
- package/functions/roomData.ts +199 -0
- package/functions/roomGrid.ts +109 -0
- package/functions/roomShape.ts +80 -0
- package/functions/rooms.ts +648 -0
- package/functions/run.ts +36 -0
- package/functions/saveFile.ts +128 -0
- package/functions/seeds.ts +19 -0
- package/functions/serialization.ts +91 -0
- package/functions/set.ts +95 -0
- package/functions/sound.ts +9 -0
- package/functions/spawnCollectible.ts +104 -0
- package/functions/sprite.ts +107 -0
- package/functions/stage.ts +125 -0
- package/functions/string.ts +47 -0
- package/functions/table.ts +189 -0
- package/functions/tears.ts +32 -0
- package/functions/transformations.ts +131 -0
- package/functions/trinketCacheFlag.ts +60 -0
- package/functions/trinketGive.ts +157 -0
- package/functions/trinkets.ts +215 -0
- package/functions/tstlClass.ts +157 -0
- package/functions/types.ts +36 -0
- package/functions/ui.ts +138 -0
- package/functions/utils.d.ts +0 -37
- package/functions/utils.lua +0 -35
- package/functions/utils.ts +189 -0
- package/functions/vector.lua +0 -7
- package/functions/vector.ts +126 -0
- package/index.ts +172 -0
- package/initCustomCallbacks.ts +132 -0
- package/initFeatures.ts +39 -0
- package/interfaces/AddCallbackParameterCustom.ts +188 -0
- package/interfaces/ChargeBarSprites.ts +12 -0
- package/interfaces/JSONDoor.d.ts +3 -3
- package/interfaces/JSONDoor.ts +13 -0
- package/interfaces/JSONEntity.d.ts +4 -4
- package/interfaces/JSONEntity.ts +16 -0
- package/interfaces/JSONRoom.d.ts +8 -8
- package/interfaces/JSONRoom.ts +36 -0
- package/interfaces/JSONRooms.ts +12 -0
- package/interfaces/JSONSpawn.d.ts +2 -2
- package/interfaces/JSONSpawn.ts +14 -0
- package/interfaces/PlayerHealth.ts +16 -0
- package/interfaces/PocketItemDescription.ts +9 -0
- package/interfaces/SaveData.ts +29 -0
- package/interfaces/TrinketSituation.ts +9 -0
- package/interfaces/private/TSTLClassMetatable.ts +8 -0
- package/maps/PHDPillConversions.ts +21 -0
- package/maps/cardMap.ts +209 -0
- package/maps/characterMap.ts +87 -0
- package/maps/collectibleDescriptionMap.ts +732 -0
- package/maps/collectibleNameMap.ts +731 -0
- package/maps/defaultPlayerStatMap.ts +17 -0
- package/maps/falsePHDPillConversions.ts +35 -0
- package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
- package/maps/gridEntityXMLMap.ts +176 -0
- package/maps/pillEffectMap.ts +88 -0
- package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
- package/maps/roomTypeMap.ts +40 -0
- package/maps/trinketDescriptionMap.ts +200 -0
- package/maps/trinketNameMap.ts +198 -0
- package/objects/LRoomShapeToRectangles.ts +44 -0
- package/objects/callbackRegisterFunctions.ts +187 -0
- package/objects/cardDescriptions.ts +105 -0
- package/objects/cardNames.ts +105 -0
- package/objects/cardTypes.ts +104 -0
- package/objects/challengeNames.ts +52 -0
- package/objects/characterNames.ts +48 -0
- package/objects/coinSubTypeToValue.ts +14 -0
- package/objects/colors.ts +16 -0
- package/objects/directionNames.ts +11 -0
- package/objects/directionToDegrees.ts +11 -0
- package/objects/directionToVector.ts +12 -0
- package/objects/doorSlotFlagToDoorSlot.ts +16 -0
- package/objects/doorSlotToDirection.ts +14 -0
- package/objects/isaacAPIClassTypeToBrand.ts +11 -0
- package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
- package/objects/languageNames.ts +13 -0
- package/objects/oppositeDoorSlots.ts +15 -0
- package/objects/pillEffectClasses.ts +63 -0
- package/objects/pillEffectNames.ts +57 -0
- package/objects/pillEffectTypes.ts +62 -0
- package/objects/roomShapeBounds.ts +71 -0
- package/objects/roomShapeLayoutSizes.ts +45 -0
- package/objects/roomShapeToBottomRightPosition.ts +25 -0
- package/objects/roomShapeToDoorSlots.ts +83 -0
- package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
- package/objects/roomShapeToGridWidth.ts +21 -0
- package/objects/roomShapeToTopLeftPosition.ts +26 -0
- package/objects/roomShapeVolumes.ts +38 -0
- package/objects/roomTypeNames.ts +36 -0
- package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
- package/objects/stageTypeToLetter.ts +15 -0
- package/objects/transformationNames.d.ts +0 -1
- package/objects/transformationNames.lua +0 -1
- package/objects/transformationNames.ts +18 -0
- package/package.json +2 -2
- package/patchErrorFunctions.ts +92 -0
- package/sets/LRoomShapesSet.ts +8 -0
- package/sets/bossSets.ts +470 -0
- package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
- package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
- package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
- package/sets/charactersWithNoRedHeartsSet.ts +17 -0
- package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
- package/sets/chestPickupVariantsSet.ts +16 -0
- package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
- package/sets/lostStyleCharactersSet.ts +13 -0
- package/sets/mineShaftRoomSubTypesSet.ts +10 -0
- package/sets/redHeartSubTypesSet.ts +7 -0
- package/sets/sinEntityTypesSet.ts +11 -0
- package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
- package/sets/storyBossesSet.ts +17 -0
- package/types/AnyEntity.ts +12 -0
- package/types/AwaitingTextInput.d.ts +2 -0
- package/types/CollectibleIndex.ts +16 -0
- package/types/PickingUpItem.ts +89 -0
- package/types/PlayerIndex.ts +13 -0
- package/types/private/IsaacAPIClass.ts +3 -0
- package/types/private/SerializedIsaacAPIClass.ts +3 -0
- package/types/private/TSTLClass.ts +3 -0
- package/upgradeMod.ts +55 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityRemoveRegisterParameters = [
|
|
4
|
+
callback: (gridIndex: int, gridEntityType: GridEntityType) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityRemoveRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityRemoveHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityRemoveRegister(
|
|
18
|
+
...args: PostGridEntityRemoveRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityRemoveFire(
|
|
25
|
+
gridIndex: int,
|
|
26
|
+
gridEntityType: GridEntityType,
|
|
27
|
+
gridEntityVariant: int,
|
|
28
|
+
): void {
|
|
29
|
+
for (const [
|
|
30
|
+
callback,
|
|
31
|
+
callbackGridEntityType,
|
|
32
|
+
callbackGridEntityVariant,
|
|
33
|
+
] of subscriptions) {
|
|
34
|
+
// Handle the optional 2nd callback argument.
|
|
35
|
+
if (
|
|
36
|
+
callbackGridEntityType !== undefined &&
|
|
37
|
+
callbackGridEntityType !== gridEntityType
|
|
38
|
+
) {
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Handle the optional 3rd callback argument.
|
|
43
|
+
if (
|
|
44
|
+
callbackGridEntityVariant !== undefined &&
|
|
45
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
46
|
+
) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
callback(gridIndex, gridEntityType);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityRenderRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityRenderRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityRenderHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityRenderRegister(
|
|
18
|
+
...args: PostGridEntityRenderRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityRenderFire(gridEntity: GridEntity): void {
|
|
25
|
+
const gridEntityType = gridEntity.GetType();
|
|
26
|
+
const gridEntityVariant = gridEntity.GetVariant();
|
|
27
|
+
|
|
28
|
+
for (const [
|
|
29
|
+
callback,
|
|
30
|
+
callbackGridEntityType,
|
|
31
|
+
callbackGridEntityVariant,
|
|
32
|
+
] of subscriptions) {
|
|
33
|
+
// Handle the optional 2nd callback argument.
|
|
34
|
+
if (
|
|
35
|
+
callbackGridEntityType !== undefined &&
|
|
36
|
+
callbackGridEntityType !== gridEntityType
|
|
37
|
+
) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Handle the optional 3rd callback argument.
|
|
42
|
+
if (
|
|
43
|
+
callbackGridEntityVariant !== undefined &&
|
|
44
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
45
|
+
) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
callback(gridEntity);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityStateChangedRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity, oldState: int, newState: int) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityStateChangedRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityStateChangedHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityStateChangedRegister(
|
|
18
|
+
...args: PostGridEntityStateChangedRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityStateChangedFire(
|
|
25
|
+
gridEntity: GridEntity,
|
|
26
|
+
oldState: int,
|
|
27
|
+
newState: int,
|
|
28
|
+
): void {
|
|
29
|
+
const gridEntityType = gridEntity.GetType();
|
|
30
|
+
const gridEntityVariant = gridEntity.GetVariant();
|
|
31
|
+
|
|
32
|
+
for (const [
|
|
33
|
+
callback,
|
|
34
|
+
callbackGridEntityType,
|
|
35
|
+
callbackGridEntityVariant,
|
|
36
|
+
] of subscriptions) {
|
|
37
|
+
// Handle the optional 2nd callback argument.
|
|
38
|
+
if (
|
|
39
|
+
callbackGridEntityType !== undefined &&
|
|
40
|
+
callbackGridEntityType !== gridEntityType
|
|
41
|
+
) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Handle the optional 3rd callback argument.
|
|
46
|
+
if (
|
|
47
|
+
callbackGridEntityVariant !== undefined &&
|
|
48
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
49
|
+
) {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
callback(gridEntity, oldState, newState);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityUpdateRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityUpdateRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityUpdateHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityUpdateRegister(
|
|
18
|
+
...args: PostGridEntityUpdateRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityUpdateFire(gridEntity: GridEntity): void {
|
|
25
|
+
const gridEntityType = gridEntity.GetType();
|
|
26
|
+
const gridEntityVariant = gridEntity.GetVariant();
|
|
27
|
+
|
|
28
|
+
for (const [
|
|
29
|
+
callback,
|
|
30
|
+
callbackGridEntityType,
|
|
31
|
+
callbackGridEntityVariant,
|
|
32
|
+
] of subscriptions) {
|
|
33
|
+
// Handle the optional 2nd callback argument.
|
|
34
|
+
if (
|
|
35
|
+
callbackGridEntityType !== undefined &&
|
|
36
|
+
callbackGridEntityType !== gridEntityType
|
|
37
|
+
) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Handle the optional 3rd callback argument.
|
|
42
|
+
if (
|
|
43
|
+
callbackGridEntityVariant !== undefined &&
|
|
44
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
45
|
+
) {
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
callback(gridEntity);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PlayerType, PlayerVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostHolyMantleRemovedRegisterParameters = [
|
|
4
|
+
callback: (
|
|
5
|
+
player: EntityPlayer,
|
|
6
|
+
oldNumHolyMantles: int,
|
|
7
|
+
newNumHolyMantles: int,
|
|
8
|
+
) => void,
|
|
9
|
+
playerVariant?: PlayerVariant,
|
|
10
|
+
character?: PlayerType,
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
const subscriptions: PostHolyMantleRemovedRegisterParameters[] = [];
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postHolyMantleRemovedHasSubscriptions(): boolean {
|
|
17
|
+
return subscriptions.length > 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** @internal */
|
|
21
|
+
export function postHolyMantleRemovedRegister(
|
|
22
|
+
...args: PostHolyMantleRemovedRegisterParameters
|
|
23
|
+
): void {
|
|
24
|
+
subscriptions.push(args);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** @internal */
|
|
28
|
+
export function postHolyMantleRemovedFire(
|
|
29
|
+
player: EntityPlayer,
|
|
30
|
+
oldNumHolyMantles: int,
|
|
31
|
+
newNumHolyMantles: int,
|
|
32
|
+
): void {
|
|
33
|
+
const character = player.GetPlayerType();
|
|
34
|
+
|
|
35
|
+
for (const [callback, callbackVariant, callbackCharacter] of subscriptions) {
|
|
36
|
+
// Handle the optional 2nd callback argument.
|
|
37
|
+
if (callbackVariant !== undefined && callbackVariant !== player.Variant) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Handle the optional 3rd callback argument.
|
|
42
|
+
if (callbackCharacter !== undefined && callbackCharacter !== character) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
callback(player, oldNumHolyMantles, newNumHolyMantles);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ActiveSlot, CollectibleType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostItemDischargedRegisterParameters = [
|
|
4
|
+
callback: (
|
|
5
|
+
player: EntityPlayer,
|
|
6
|
+
collectibleType: CollectibleType,
|
|
7
|
+
activeSlot: ActiveSlot,
|
|
8
|
+
) => void,
|
|
9
|
+
collectibleType?: CollectibleType,
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const subscriptions: PostItemDischargedRegisterParameters[] = [];
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export function postItemDischargeHasSubscriptions(): boolean {
|
|
16
|
+
return subscriptions.length > 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postItemDischargeRegister(
|
|
21
|
+
...args: PostItemDischargedRegisterParameters
|
|
22
|
+
): void {
|
|
23
|
+
subscriptions.push(args);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** @internal */
|
|
27
|
+
export function postItemDischargeFire(
|
|
28
|
+
player: EntityPlayer,
|
|
29
|
+
collectibleType: CollectibleType,
|
|
30
|
+
activeSlot: ActiveSlot,
|
|
31
|
+
): void {
|
|
32
|
+
for (const [callback, callbackCollectibleType] of subscriptions) {
|
|
33
|
+
// Handle the optional 2nd callback argument.
|
|
34
|
+
if (
|
|
35
|
+
callbackCollectibleType !== undefined &&
|
|
36
|
+
callbackCollectibleType !== collectibleType
|
|
37
|
+
) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
callback(player, collectibleType, activeSlot);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CollectibleType,
|
|
3
|
+
ItemType,
|
|
4
|
+
TrinketType,
|
|
5
|
+
} from "isaac-typescript-definitions";
|
|
6
|
+
import {
|
|
7
|
+
PickingUpItem,
|
|
8
|
+
PickingUpItemCollectible,
|
|
9
|
+
PickingUpItemTrinket,
|
|
10
|
+
} from "../../types/PickingUpItem";
|
|
11
|
+
|
|
12
|
+
export type PostItemPickupRegisterParameters =
|
|
13
|
+
| [callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => void]
|
|
14
|
+
| [
|
|
15
|
+
callback: (
|
|
16
|
+
player: EntityPlayer,
|
|
17
|
+
pickingUpItem: PickingUpItemCollectible,
|
|
18
|
+
) => void,
|
|
19
|
+
itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR,
|
|
20
|
+
collectibleType?: CollectibleType,
|
|
21
|
+
]
|
|
22
|
+
| [
|
|
23
|
+
callback: (
|
|
24
|
+
player: EntityPlayer,
|
|
25
|
+
pickingUpItem: PickingUpItemTrinket,
|
|
26
|
+
) => void,
|
|
27
|
+
itemType: ItemType.TRINKET,
|
|
28
|
+
trinketType?: TrinketType,
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const subscriptions: PostItemPickupRegisterParameters[] = [];
|
|
32
|
+
|
|
33
|
+
/** @internal */
|
|
34
|
+
export function postItemPickupHasSubscriptions(): boolean {
|
|
35
|
+
return subscriptions.length > 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** @internal */
|
|
39
|
+
export function postItemPickupRegister(
|
|
40
|
+
...args: PostItemPickupRegisterParameters
|
|
41
|
+
): void {
|
|
42
|
+
subscriptions.push(args);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** @internal */
|
|
46
|
+
export function postItemPickupFire(
|
|
47
|
+
player: EntityPlayer,
|
|
48
|
+
pickingUpItem: PickingUpItem,
|
|
49
|
+
): void {
|
|
50
|
+
for (const [callback, itemType, subType] of subscriptions) {
|
|
51
|
+
// Handle the optional 2nd callback argument.
|
|
52
|
+
if (itemType !== undefined && itemType !== pickingUpItem.itemType) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Handle the optional 3rd callback argument.
|
|
57
|
+
if (subType !== undefined && subType !== pickingUpItem.subType) {
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// @ts-expect-error TypeScript isn't smart enough to treat the above checks as type narrowing.
|
|
62
|
+
callback(player, pickingUpItem);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { KnifeVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostKnifeInitLateRegisterParameters = [
|
|
4
|
+
callback: (knife: EntityKnife) => void,
|
|
5
|
+
knifeVariant?: KnifeVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostKnifeInitLateRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postKnifeInitLateHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postKnifeInitLateRegister(
|
|
17
|
+
...args: PostKnifeInitLateRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postKnifeInitLateFire(knife: EntityKnife): void {
|
|
24
|
+
for (const [callback, knifeVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (knifeVariant !== undefined && knifeVariant !== knife.Variant) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(knife);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LaserVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostLaserInitLateRegisterParameters = [
|
|
4
|
+
callback: (laser: EntityLaser) => void,
|
|
5
|
+
laserVariant?: LaserVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostLaserInitLateRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postLaserInitLateHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postLaserInitLateRegister(
|
|
17
|
+
...args: PostLaserInitLateRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postLaserInitLateFire(laser: EntityLaser): void {
|
|
24
|
+
for (const [callback, laserVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (laserVariant !== undefined && laserVariant !== laser.Variant) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(laser);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostNPCInitLateRegisterParameters = [
|
|
4
|
+
callback: (npc: EntityNPC) => void,
|
|
5
|
+
entityType?: EntityType,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostNPCInitLateRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postNPCInitLateHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postNPCInitLateRegister(
|
|
17
|
+
...args: PostNPCInitLateRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postNPCInitLateFire(npc: EntityNPC): void {
|
|
24
|
+
for (const [callback, entityType] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (entityType !== undefined && entityType !== npc.Type) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(npc);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { EntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostNPCStateChangedRegisterParameters = [
|
|
4
|
+
callback: (npc: EntityNPC, previousState: int, currentState: int) => void,
|
|
5
|
+
entityType?: EntityType,
|
|
6
|
+
variant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostNPCStateChangedRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postNPCStateChangedHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postNPCStateChangedRegister(
|
|
18
|
+
...args: PostNPCStateChangedRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postNPCStateChangedFire(
|
|
25
|
+
npc: EntityNPC,
|
|
26
|
+
previousState: int,
|
|
27
|
+
currentState: int,
|
|
28
|
+
): void {
|
|
29
|
+
for (const [callback, entityType, variant] of subscriptions) {
|
|
30
|
+
// Handle the optional 2nd callback argument.
|
|
31
|
+
if (entityType !== undefined && entityType !== npc.Type) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Handle the optional 3rd callback argument.
|
|
36
|
+
if (variant !== undefined && variant !== npc.Variant) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
callback(npc, previousState, currentState);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type PostNewLevelReorderedRegisterParameters = [callback: () => void];
|
|
2
|
+
|
|
3
|
+
const subscriptions: PostNewLevelReorderedRegisterParameters[] = [];
|
|
4
|
+
|
|
5
|
+
/** @internal */
|
|
6
|
+
export function postNewLevelReorderedHasSubscriptions(): boolean {
|
|
7
|
+
return subscriptions.length > 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postNewLevelReorderedRegister(
|
|
12
|
+
...args: PostNewLevelReorderedRegisterParameters
|
|
13
|
+
): void {
|
|
14
|
+
subscriptions.push(args);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @internal */
|
|
18
|
+
export function postNewLevelReorderedFire(): void {
|
|
19
|
+
for (const [callback] of subscriptions) {
|
|
20
|
+
callback();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type PostNewRoomEarlyRegisterParameters = [callback: () => void];
|
|
2
|
+
|
|
3
|
+
const subscriptions: PostNewRoomEarlyRegisterParameters[] = [];
|
|
4
|
+
|
|
5
|
+
/** @internal */
|
|
6
|
+
export function postNewRoomEarlyHasSubscriptions(): boolean {
|
|
7
|
+
return subscriptions.length > 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postNewRoomEarlyRegister(
|
|
12
|
+
...args: PostNewRoomEarlyRegisterParameters
|
|
13
|
+
): void {
|
|
14
|
+
subscriptions.push(args);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @internal */
|
|
18
|
+
export function postNewRoomEarlyFire(): void {
|
|
19
|
+
for (const [callback] of subscriptions) {
|
|
20
|
+
callback();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type PostNewRoomReorderedRegisterParameters = [callback: () => void];
|
|
2
|
+
|
|
3
|
+
const subscriptions: PostNewRoomReorderedRegisterParameters[] = [];
|
|
4
|
+
|
|
5
|
+
/** @internal */
|
|
6
|
+
export function postNewRoomReorderedHasSubscriptions(): boolean {
|
|
7
|
+
return subscriptions.length > 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postNewRoomReorderedRegister(
|
|
12
|
+
...args: PostNewRoomReorderedRegisterParameters
|
|
13
|
+
): void {
|
|
14
|
+
subscriptions.push(args);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @internal */
|
|
18
|
+
export function postNewRoomReorderedFire(): void {
|
|
19
|
+
for (const [callback] of subscriptions) {
|
|
20
|
+
callback();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PlayerType, PlayerVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostPEffectUpdateReorderedRegisterParameters = [
|
|
4
|
+
callback: (player: EntityPlayer) => void,
|
|
5
|
+
playerVariant?: PlayerVariant,
|
|
6
|
+
character?: PlayerType,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostPEffectUpdateReorderedRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postPEffectUpdateReorderedHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postPEffectUpdateReorderedRegister(
|
|
18
|
+
...args: PostPEffectUpdateReorderedRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postPEffectUpdateReorderedFire(player: EntityPlayer): void {
|
|
25
|
+
const character = player.GetPlayerType();
|
|
26
|
+
|
|
27
|
+
for (const [callback, callbackVariant, callbackCharacter] of subscriptions) {
|
|
28
|
+
// Handle the optional 2nd callback argument.
|
|
29
|
+
if (callbackVariant !== undefined && callbackVariant !== player.Variant) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Handle the optional 3rd callback argument.
|
|
34
|
+
if (callbackCharacter !== undefined && callbackCharacter !== character) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
callback(player);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { PickupVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostPickupCollectRegisterParameters = [
|
|
4
|
+
callback: (pickup: EntityPickup, player: EntityPlayer) => void,
|
|
5
|
+
pickupVariant?: PickupVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostPickupCollectRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postPickupCollectHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postPickupCollectRegister(
|
|
17
|
+
...args: PostPickupCollectRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postPickupCollectFire(
|
|
24
|
+
pickup: EntityPickup,
|
|
25
|
+
player: EntityPlayer,
|
|
26
|
+
): void {
|
|
27
|
+
for (const [callback, pickupVariant] of subscriptions) {
|
|
28
|
+
// Handle the optional 2nd callback argument.
|
|
29
|
+
if (pickupVariant !== undefined && pickupVariant !== pickup.Variant) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
callback(pickup, player);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { PickupVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostPickupInitFirstRegisterParameters = [
|
|
4
|
+
callback: (pickup: EntityPickup) => void,
|
|
5
|
+
pickupVariant?: PickupVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostPickupInitFirstRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postPickupInitFirstHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postPickupInitFirstRegister(
|
|
17
|
+
...args: PostPickupInitFirstRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postPickupInitFirstFire(pickup: EntityPickup): void {
|
|
24
|
+
for (const [callback, pickupVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (pickupVariant !== undefined && pickupVariant !== pickup.Variant) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(pickup);
|
|
31
|
+
}
|
|
32
|
+
}
|