UNPKG

isaacscript-common

Version:

Helper functions and features for IsaacScript mods.

35 lines (28 loc) 918 B
import { ModCallback } from "isaac-typescript-definitions"; import type { ModCallbackCustom } from "../../enums/ModCallbackCustom"; import { shouldFireFamiliar } from "../../shouldFire"; import { CustomCallback } from "../private/CustomCallback"; const v = { room: { firedSet: new Set<PtrHash>(), }, }; export class PostFamiliarInitLate extends CustomCallback<ModCallbackCustom.POST_FAMILIAR_INIT_LATE> { public override v = v; constructor() { super(); this.callbacksUsed = [ // 6 [ModCallback.POST_FAMILIAR_UPDATE, this.postFamiliarUpdate], ]; } protected override shouldFire = shouldFireFamiliar; // ModCallback.POST_FAMILIAR_UPDATE (6) private readonly postFamiliarUpdate = (familiar: EntityFamiliar): void => { const index = GetPtrHash(familiar); if (!v.room.firedSet.has(index)) { v.room.firedSet.add(index); this.fire(familiar); } }; }