isaacscript-common 3.17.0 → 4.0.2
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.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -7
- package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.d.ts +2 -3
- package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -7
- 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.d.ts +1 -1
- 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 +8 -4
- package/classes/ModUpgraded.lua +5 -8
- 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 +20 -18
- 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.lua +1 -1
- 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.lua +1 -1
- 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.d.ts +1 -1
- package/functions/color.lua +0 -7
- package/functions/color.ts +128 -0
- package/functions/debug.lua +2 -2
- 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.lua +1 -2
- 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.d.ts +3 -3
- package/functions/globals.lua +8 -2
- 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.d.ts +1 -1
- 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.lua +1 -1
- 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.d.ts +1 -1
- 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.lua +1 -3
- 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.lua +0 -3
- 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.lua +1 -3
- 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.d.ts +1 -1
- 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 +4 -4
- package/interfaces/JSONDoor.ts +13 -0
- package/interfaces/JSONEntity.d.ts +5 -5
- package/interfaces/JSONEntity.ts +16 -0
- package/interfaces/JSONRoom.d.ts +9 -9
- package/interfaces/JSONRoom.ts +36 -0
- package/interfaces/JSONRooms.ts +12 -0
- package/interfaces/JSONSpawn.d.ts +3 -3
- 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.d.ts +1 -1
- package/types/CollectibleIndex.ts +16 -0
- package/types/PickingUpItem.d.ts +3 -3
- package/types/PickingUpItem.ts +89 -0
- package/types/PlayerIndex.d.ts +1 -1
- package/types/PlayerIndex.ts +13 -0
- package/types/private/IsaacAPIClass.d.ts +1 -1
- package/types/private/IsaacAPIClass.ts +3 -0
- package/types/private/SerializedIsaacAPIClass.d.ts +1 -1
- package/types/private/SerializedIsaacAPIClass.ts +3 -0
- package/types/private/TSTLClass.d.ts +1 -1
- package/types/private/TSTLClass.ts +3 -0
- package/upgradeMod.d.ts +2 -2
- package/upgradeMod.lua +2 -2
- package/upgradeMod.ts +55 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Direction, DoorSlot } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostCustomDoorEnterRegisterParameters = [
|
|
4
|
+
callback: (
|
|
5
|
+
player: EntityPlayer,
|
|
6
|
+
effectVariant: int,
|
|
7
|
+
doorSlot: DoorSlot,
|
|
8
|
+
direction: Direction,
|
|
9
|
+
) => void,
|
|
10
|
+
effectVariant?: int,
|
|
11
|
+
];
|
|
12
|
+
|
|
13
|
+
const subscriptions: PostCustomDoorEnterRegisterParameters[] = [];
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postCustomDoorEnterHasSubscriptions(): boolean {
|
|
17
|
+
return subscriptions.length > 0;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** @internal */
|
|
21
|
+
export function postCustomDoorEnterRegister(
|
|
22
|
+
...args: PostCustomDoorEnterRegisterParameters
|
|
23
|
+
): void {
|
|
24
|
+
subscriptions.push(args);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** @internal */
|
|
28
|
+
export function postCustomDoorEnterFire(
|
|
29
|
+
player: EntityPlayer,
|
|
30
|
+
effectVariant: int,
|
|
31
|
+
doorSlot: DoorSlot,
|
|
32
|
+
direction: Direction,
|
|
33
|
+
): void {
|
|
34
|
+
for (const [callback, callbackEffectVariant] of subscriptions) {
|
|
35
|
+
// Handle the optional 2nd callback argument.
|
|
36
|
+
if (
|
|
37
|
+
callbackEffectVariant !== undefined &&
|
|
38
|
+
callbackEffectVariant !== effectVariant
|
|
39
|
+
) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
callback(player, effectVariant, doorSlot, direction);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type PostCustomReviveRegisterParameters = [
|
|
2
|
+
callback: (player: EntityPlayer, revivalType: int) => void,
|
|
3
|
+
revivalType?: int,
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
const subscriptions: PostCustomReviveRegisterParameters[] = [];
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
export function postCustomReviveHasSubscriptions(): boolean {
|
|
10
|
+
return subscriptions.length > 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
export function postCustomReviveRegister(
|
|
15
|
+
...args: PostCustomReviveRegisterParameters
|
|
16
|
+
): void {
|
|
17
|
+
subscriptions.push(args);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** @internal */
|
|
21
|
+
export function postCustomReviveFire(
|
|
22
|
+
player: EntityPlayer,
|
|
23
|
+
revivalType: int,
|
|
24
|
+
): void {
|
|
25
|
+
for (const [callback, callbackRevivalType] of subscriptions) {
|
|
26
|
+
// Handle the optional 2nd callback argument.
|
|
27
|
+
if (
|
|
28
|
+
callbackRevivalType !== undefined &&
|
|
29
|
+
callbackRevivalType !== revivalType
|
|
30
|
+
) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
callback(player, revivalType);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DiceFloorSubType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostDiceRoomActivatedRegisterParameters = [
|
|
4
|
+
callback: (player: EntityPlayer, diceFloorSubType: DiceFloorSubType) => void,
|
|
5
|
+
diceFloorSubType?: DiceFloorSubType,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostDiceRoomActivatedRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postDiceRoomActivatedHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postDiceRoomActivatedRegister(
|
|
17
|
+
...args: PostDiceRoomActivatedRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postDiceRoomActivatedFire(
|
|
24
|
+
player: EntityPlayer,
|
|
25
|
+
diceFloorSubType: DiceFloorSubType,
|
|
26
|
+
): void {
|
|
27
|
+
for (const [callback, callbackDiceFloorSubType] of subscriptions) {
|
|
28
|
+
// Handle the optional 2nd callback argument.
|
|
29
|
+
if (
|
|
30
|
+
callbackDiceFloorSubType !== undefined &&
|
|
31
|
+
callbackDiceFloorSubType !== diceFloorSubType
|
|
32
|
+
) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
callback(player, diceFloorSubType);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type PostDoorRenderRegisterParameters = [
|
|
2
|
+
callback: (door: GridEntityDoor) => void,
|
|
3
|
+
gridEntityVariant?: int,
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
const subscriptions: PostDoorRenderRegisterParameters[] = [];
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
export function postDoorRenderHasSubscriptions(): boolean {
|
|
10
|
+
return subscriptions.length > 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
export function postDoorRenderRegister(
|
|
15
|
+
...args: PostDoorRenderRegisterParameters
|
|
16
|
+
): void {
|
|
17
|
+
subscriptions.push(args);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** @internal */
|
|
21
|
+
export function postDoorRenderFire(door: GridEntityDoor): void {
|
|
22
|
+
const gridEntityVariant = door.GetVariant();
|
|
23
|
+
|
|
24
|
+
for (const [callback, callbackGridEntityVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (
|
|
27
|
+
callbackGridEntityVariant !== undefined &&
|
|
28
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
29
|
+
) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
callback(door);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type PostDoorUpdateRegisterParameters = [
|
|
2
|
+
callback: (door: GridEntityDoor) => void,
|
|
3
|
+
gridEntityVariant?: int,
|
|
4
|
+
];
|
|
5
|
+
|
|
6
|
+
const subscriptions: PostDoorUpdateRegisterParameters[] = [];
|
|
7
|
+
|
|
8
|
+
/** @internal */
|
|
9
|
+
export function postDoorUpdateHasSubscriptions(): boolean {
|
|
10
|
+
return subscriptions.length > 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/** @internal */
|
|
14
|
+
export function postDoorUpdateRegister(
|
|
15
|
+
...args: PostDoorUpdateRegisterParameters
|
|
16
|
+
): void {
|
|
17
|
+
subscriptions.push(args);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** @internal */
|
|
21
|
+
export function postDoorUpdateFire(door: GridEntityDoor): void {
|
|
22
|
+
const gridEntityVariant = door.GetVariant();
|
|
23
|
+
|
|
24
|
+
for (const [callback, callbackGridEntityVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (
|
|
27
|
+
callbackGridEntityVariant !== undefined &&
|
|
28
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
29
|
+
) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
callback(door);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EffectVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostEffectInitLateRegisterParameters = [
|
|
4
|
+
callback: (effect: EntityEffect) => void,
|
|
5
|
+
effectVariant?: EffectVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostEffectInitLateRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postEffectInitLateHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postEffectInitLateRegister(
|
|
17
|
+
...args: PostEffectInitLateRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postEffectInitLateFire(effect: EntityEffect): void {
|
|
24
|
+
for (const [callback, effectVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (effectVariant !== undefined && effectVariant !== effect.Variant) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(effect);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EffectVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostEffectStateChangedRegisterParameters = [
|
|
4
|
+
callback: (
|
|
5
|
+
effect: EntityEffect,
|
|
6
|
+
previousState: int,
|
|
7
|
+
currentState: int,
|
|
8
|
+
) => void,
|
|
9
|
+
effectVariant?: EffectVariant,
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const subscriptions: PostEffectStateChangedRegisterParameters[] = [];
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export function postEffectStateChangedHasSubscriptions(): boolean {
|
|
16
|
+
return subscriptions.length > 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postEffectStateChangedRegister(
|
|
21
|
+
...args: PostEffectStateChangedRegisterParameters
|
|
22
|
+
): void {
|
|
23
|
+
subscriptions.push(args);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** @internal */
|
|
27
|
+
export function postEffectStateChangedFire(
|
|
28
|
+
effect: EntityEffect,
|
|
29
|
+
previousState: int,
|
|
30
|
+
currentState: int,
|
|
31
|
+
): void {
|
|
32
|
+
for (const [callback, effectVariant] of subscriptions) {
|
|
33
|
+
// Handle the optional 2nd callback argument.
|
|
34
|
+
if (effectVariant !== undefined && effectVariant !== effect.Variant) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
callback(effect, previousState, currentState);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PostEsauJrRegisterParameters = [
|
|
2
|
+
callback: (player: EntityPlayer) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostEsauJrRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postEsauJrHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postEsauJrRegister(
|
|
14
|
+
...args: PostEsauJrRegisterParameters
|
|
15
|
+
): void {
|
|
16
|
+
subscriptions.push(args);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postEsauJrFire(player: EntityPlayer): void {
|
|
21
|
+
for (const [callback] of subscriptions) {
|
|
22
|
+
callback(player);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { FamiliarVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostFamiliarInitLateRegisterParameters = [
|
|
4
|
+
callback: (familiar: EntityFamiliar) => void,
|
|
5
|
+
familiarVariant?: FamiliarVariant,
|
|
6
|
+
];
|
|
7
|
+
|
|
8
|
+
const subscriptions: PostFamiliarInitLateRegisterParameters[] = [];
|
|
9
|
+
|
|
10
|
+
/** @internal */
|
|
11
|
+
export function postFamiliarInitLateHasSubscriptions(): boolean {
|
|
12
|
+
return subscriptions.length > 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function postFamiliarInitLateRegister(
|
|
17
|
+
...args: PostFamiliarInitLateRegisterParameters
|
|
18
|
+
): void {
|
|
19
|
+
subscriptions.push(args);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** @internal */
|
|
23
|
+
export function postFamiliarInitLateFire(familiar: EntityFamiliar): void {
|
|
24
|
+
for (const [callback, familiarVariant] of subscriptions) {
|
|
25
|
+
// Handle the optional 2nd callback argument.
|
|
26
|
+
if (familiarVariant !== undefined && familiarVariant !== familiar.Variant) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
callback(familiar);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { FamiliarVariant } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostFamiliarStateChangedRegisterParameters = [
|
|
4
|
+
callback: (
|
|
5
|
+
familiar: EntityFamiliar,
|
|
6
|
+
previousState: int,
|
|
7
|
+
currentState: int,
|
|
8
|
+
) => void,
|
|
9
|
+
familiarVariant?: FamiliarVariant,
|
|
10
|
+
];
|
|
11
|
+
|
|
12
|
+
const subscriptions: PostFamiliarStateChangedRegisterParameters[] = [];
|
|
13
|
+
|
|
14
|
+
/** @internal */
|
|
15
|
+
export function postFamiliarStateChangedHasSubscriptions(): boolean {
|
|
16
|
+
return subscriptions.length > 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postFamiliarStateChangedRegister(
|
|
21
|
+
...args: PostFamiliarStateChangedRegisterParameters
|
|
22
|
+
): void {
|
|
23
|
+
subscriptions.push(args);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** @internal */
|
|
27
|
+
export function postFamiliarStateChangedFire(
|
|
28
|
+
familiar: EntityFamiliar,
|
|
29
|
+
previousState: int,
|
|
30
|
+
currentState: int,
|
|
31
|
+
): void {
|
|
32
|
+
for (const [callback, familiarVariant] of subscriptions) {
|
|
33
|
+
// Handle the optional 2nd callback argument.
|
|
34
|
+
if (familiarVariant !== undefined && familiarVariant !== familiar.Variant) {
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
callback(familiar, previousState, currentState);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PostFirstEsauJrRegisterParameters = [
|
|
2
|
+
callback: (player: EntityPlayer) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostFirstEsauJrRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postFirstEsauJrHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postFirstEsauJrRegister(
|
|
14
|
+
...args: PostFirstEsauJrRegisterParameters
|
|
15
|
+
): void {
|
|
16
|
+
subscriptions.push(args);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postFirstEsauJrFire(player: EntityPlayer): void {
|
|
21
|
+
for (const [callback] of subscriptions) {
|
|
22
|
+
callback(player);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PostFirstFlipRegisterParameters = [
|
|
2
|
+
callback: (player: EntityPlayer) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostFirstFlipRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postFirstFlipHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postFirstFlipRegister(
|
|
14
|
+
...args: PostFirstFlipRegisterParameters
|
|
15
|
+
): void {
|
|
16
|
+
subscriptions.push(args);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postFirstFlipFire(player: EntityPlayer): void {
|
|
21
|
+
for (const [callback] of subscriptions) {
|
|
22
|
+
callback(player);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type PostFlipRegisterParameters = [
|
|
2
|
+
callback: (player: EntityPlayer) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostFlipRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postFlipHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postFlipRegister(...args: PostFlipRegisterParameters): void {
|
|
14
|
+
subscriptions.push(args);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/** @internal */
|
|
18
|
+
export function postFlipFire(player: EntityPlayer): void {
|
|
19
|
+
for (const [callback] of subscriptions) {
|
|
20
|
+
callback(player);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PostGameStartedReorderedRegisterParameters = [
|
|
2
|
+
callback: (isContinued: boolean) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostGameStartedReorderedRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postGameStartedReorderedHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postGameStartedReorderedRegister(
|
|
14
|
+
...args: PostGameStartedReorderedRegisterParameters
|
|
15
|
+
): void {
|
|
16
|
+
subscriptions.push(args);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postGameStartedReorderedFire(isContinued: boolean): void {
|
|
21
|
+
for (const [callback] of subscriptions) {
|
|
22
|
+
callback(isContinued);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type PostGreedModeWaveRegisterParameters = [
|
|
2
|
+
callback: (oldWave: int, newWave: int) => void,
|
|
3
|
+
];
|
|
4
|
+
|
|
5
|
+
const subscriptions: PostGreedModeWaveRegisterParameters[] = [];
|
|
6
|
+
|
|
7
|
+
/** @internal */
|
|
8
|
+
export function postGreedModeWaveHasSubscriptions(): boolean {
|
|
9
|
+
return subscriptions.length > 0;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/** @internal */
|
|
13
|
+
export function postGreedModeWaveRegister(
|
|
14
|
+
...args: PostGreedModeWaveRegisterParameters
|
|
15
|
+
): void {
|
|
16
|
+
subscriptions.push(args);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** @internal */
|
|
20
|
+
export function postGreedModeWaveFire(oldWave: int, newWave: int): void {
|
|
21
|
+
for (const [callback] of subscriptions) {
|
|
22
|
+
callback(oldWave, newWave);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityBrokenRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityBrokenRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityBrokenHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityBrokenRegister(
|
|
18
|
+
...args: PostGridEntityBrokenRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityBrokenFire(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,54 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityCollisionRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity, entity: Entity) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityCollisionRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityCollisionHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityCollisionRegister(
|
|
18
|
+
...args: PostGridEntityCollisionRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityCollisionFire(
|
|
25
|
+
gridEntity: GridEntity,
|
|
26
|
+
entity: Entity,
|
|
27
|
+
): void {
|
|
28
|
+
const gridEntityType = gridEntity.GetType();
|
|
29
|
+
const gridEntityVariant = gridEntity.GetVariant();
|
|
30
|
+
|
|
31
|
+
for (const [
|
|
32
|
+
callback,
|
|
33
|
+
callbackGridEntityType,
|
|
34
|
+
callbackGridEntityVariant,
|
|
35
|
+
] of subscriptions) {
|
|
36
|
+
// Handle the optional 2nd callback argument.
|
|
37
|
+
if (
|
|
38
|
+
callbackGridEntityType !== undefined &&
|
|
39
|
+
callbackGridEntityType !== gridEntityType
|
|
40
|
+
) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Handle the optional 3rd callback argument.
|
|
45
|
+
if (
|
|
46
|
+
callbackGridEntityVariant !== undefined &&
|
|
47
|
+
callbackGridEntityVariant !== gridEntityVariant
|
|
48
|
+
) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
callback(gridEntity, entity);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { GridEntityType } from "isaac-typescript-definitions";
|
|
2
|
+
|
|
3
|
+
export type PostGridEntityInitRegisterParameters = [
|
|
4
|
+
callback: (gridEntity: GridEntity) => void,
|
|
5
|
+
gridEntityType?: GridEntityType,
|
|
6
|
+
gridEntityVariant?: int,
|
|
7
|
+
];
|
|
8
|
+
|
|
9
|
+
const subscriptions: PostGridEntityInitRegisterParameters[] = [];
|
|
10
|
+
|
|
11
|
+
/** @internal */
|
|
12
|
+
export function postGridEntityInitHasSubscriptions(): boolean {
|
|
13
|
+
return subscriptions.length > 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** @internal */
|
|
17
|
+
export function postGridEntityInitRegister(
|
|
18
|
+
...args: PostGridEntityInitRegisterParameters
|
|
19
|
+
): void {
|
|
20
|
+
subscriptions.push(args);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
export function postGridEntityInitFire(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
|
+
}
|