UNPKG

isaacscript-common

Version:

Helper functions and features for IsaacScript mods.

77 lines 3.12 kB
import type { RoomDescription } from "../../../interfaces/RoomDescription"; import { Feature } from "../../private/Feature"; export declare class RoomHistory extends Feature { private readonly postNewRoomEarly; /** * Helper function to manually delete the last room description from the internal array. This is * useful if a mod needs to send the player to a room temporarily and the room should not count as * the player having traveled to that room. * * @public */ deleteLastRoomDescription(): void; /** * Helper function to get the total number of rooms that the player has entered thus far on the * run. (Re-entering the same room will increment the number returned.) * * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`. * * @public */ getNumRoomsEntered(): int; /** * Helper function to get information about all of the rooms that a player has visited thus far on * this run. * * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`. * * @public */ getRoomHistory(): ReadonlyArray<Readonly<RoomDescription>>; /** * Helper function to get information about the room that was previously visited. * * In the special case of only one room having been visited thus far (i.e. the starting room of * the run), the starting room will be returned. * * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`. * * @public */ getPreviousRoomDescription(): Readonly<RoomDescription>; /** * Helper function to get information about the most recent room that is stored in the room * history array. * * This is useful in the `POST_ENTITY_REMOVE` callback; see the `isLeavingRoom` function. * * Note that this function can return undefined in the case where it is called on the first room * of the run. * * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`. * * @public */ getLatestRoomDescription(): Readonly<RoomDescription> | undefined; /** * Helper function to detect if the player is on the first room of the room. * * @public */ inFirstRoom(): boolean; /** * Helper function to detect if the game is in the state where the room index has changed to a new * room, but the entities from the previous room are currently in the process of despawning. (At * this point, the `POST_NEW_ROOM` callback and the `POST_NEW_ROOM_EARLY` callback will not have * fired yet, and there will not be an entry in the room history array for the current room.) * * This function is intended to be used in the `POST_ENTITY_REMOVE` callback to detect when an * entity is despawning. * * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`. * * @public */ isLeavingRoom(): boolean; } //# sourceMappingURL=RoomHistory.d.ts.map