isaacscript-common 1.2.140 → 1.2.141
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/dist/callbacks/postSlotRender.d.ts +1 -0
- package/dist/callbacks/postSlotRender.lua +73 -0
- package/dist/callbacks/subscriptions/postSlotAnimationChanged.d.ts +2 -0
- package/dist/callbacks/subscriptions/postSlotAnimationChanged.lua +25 -0
- package/dist/types/CallbackParametersCustom.d.ts +5 -0
- package/dist/types/ModCallbacksCustom.d.ts +10 -9
- package/dist/types/ModCallbacksCustom.lua +11 -9
- package/dist/types/ModUpgraded.lua +8 -0
- package/dist/upgradeMod.lua +3 -3
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____lualib = require("lualib_bundle")
|
|
3
|
+
local Set = ____lualib.Set
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local hasSubscriptions, postRender, checkSlotAnimationChanged, checkSlotBroken, BROKEN_ANIMATIONS, v
|
|
7
|
+
local ____exports = require("features.saveDataManager.exports")
|
|
8
|
+
local saveDataManager = ____exports.saveDataManager
|
|
9
|
+
local ____entitySpecific = require("functions.entitySpecific")
|
|
10
|
+
local getSlots = ____entitySpecific.getSlots
|
|
11
|
+
local ____DefaultMap = require("types.DefaultMap")
|
|
12
|
+
local DefaultMap = ____DefaultMap.DefaultMap
|
|
13
|
+
local ____postSlotAnimationChanged = require("callbacks.subscriptions.postSlotAnimationChanged")
|
|
14
|
+
local postSlotAnimationChangedFire = ____postSlotAnimationChanged.postSlotAnimationChangedFire
|
|
15
|
+
local postSlotAnimationChangedHasSubscriptions = ____postSlotAnimationChanged.postSlotAnimationChangedHasSubscriptions
|
|
16
|
+
local ____postSlotDestroyed = require("callbacks.subscriptions.postSlotDestroyed")
|
|
17
|
+
local postSlotDestroyedFire = ____postSlotDestroyed.postSlotDestroyedFire
|
|
18
|
+
local postSlotDestroyedHasSubscriptions = ____postSlotDestroyed.postSlotDestroyedHasSubscriptions
|
|
19
|
+
local ____postSlotRender = require("callbacks.subscriptions.postSlotRender")
|
|
20
|
+
local postSlotRenderFire = ____postSlotRender.postSlotRenderFire
|
|
21
|
+
local postSlotRenderHasSubscriptions = ____postSlotRender.postSlotRenderHasSubscriptions
|
|
22
|
+
function hasSubscriptions(self)
|
|
23
|
+
return postSlotRenderHasSubscriptions(nil) or postSlotDestroyedHasSubscriptions(nil) or postSlotAnimationChangedHasSubscriptions(nil)
|
|
24
|
+
end
|
|
25
|
+
function postRender(self)
|
|
26
|
+
if not hasSubscriptions(nil) then
|
|
27
|
+
return
|
|
28
|
+
end
|
|
29
|
+
for ____, slot in ipairs(getSlots(nil)) do
|
|
30
|
+
postSlotRenderFire(nil, slot)
|
|
31
|
+
checkSlotAnimationChanged(nil, slot)
|
|
32
|
+
checkSlotBroken(nil, slot)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
function checkSlotAnimationChanged(self, slot)
|
|
36
|
+
local sprite = slot:GetSprite()
|
|
37
|
+
local currentAnimation = sprite:GetAnimation()
|
|
38
|
+
local ptrHash = GetPtrHash(slot)
|
|
39
|
+
local previousAnimation = v.room.slotAnimations:getAndSetDefault(ptrHash, slot)
|
|
40
|
+
v.room.slotAnimations:set(ptrHash, currentAnimation)
|
|
41
|
+
if currentAnimation ~= previousAnimation then
|
|
42
|
+
postSlotAnimationChangedFire(nil, slot, previousAnimation, currentAnimation)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
function checkSlotBroken(self, slot)
|
|
46
|
+
local ptrHash = GetPtrHash(slot)
|
|
47
|
+
local alreadyBroken = v.room.brokenSlots:has(ptrHash)
|
|
48
|
+
if alreadyBroken then
|
|
49
|
+
return
|
|
50
|
+
end
|
|
51
|
+
local sprite = slot:GetSprite()
|
|
52
|
+
local animation = sprite:GetAnimation()
|
|
53
|
+
if BROKEN_ANIMATIONS:has(animation) then
|
|
54
|
+
v.room.brokenSlots:add(ptrHash)
|
|
55
|
+
postSlotDestroyedFire(nil, slot)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
BROKEN_ANIMATIONS = __TS__New(Set, {"Broken", "Death"})
|
|
59
|
+
v = {room = {
|
|
60
|
+
slotAnimations = __TS__New(
|
|
61
|
+
DefaultMap,
|
|
62
|
+
function(____, _key, slot)
|
|
63
|
+
local sprite = slot:GetSprite()
|
|
64
|
+
return sprite:GetAnimation()
|
|
65
|
+
end
|
|
66
|
+
),
|
|
67
|
+
brokenSlots = __TS__New(Set)
|
|
68
|
+
}}
|
|
69
|
+
function ____exports.postSlotRenderCallbacksInit(self, mod)
|
|
70
|
+
saveDataManager(nil, "postSlotRender", v, hasSubscriptions)
|
|
71
|
+
mod:AddCallback(ModCallbacks.MC_POST_RENDER, postRender)
|
|
72
|
+
end
|
|
73
|
+
return ____exports
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____lualib = require("lualib_bundle")
|
|
3
|
+
local __TS__ArrayPush = ____lualib.__TS__ArrayPush
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local subscriptions = {}
|
|
6
|
+
function ____exports.postSlotAnimationChangedHasSubscriptions(self)
|
|
7
|
+
return #subscriptions > 0
|
|
8
|
+
end
|
|
9
|
+
function ____exports.postSlotAnimationChangedRegister(self, callback, slotVariant)
|
|
10
|
+
__TS__ArrayPush(subscriptions, {callback, slotVariant})
|
|
11
|
+
end
|
|
12
|
+
function ____exports.postSlotAnimationChangedFire(self, slot, previousAnimation, currentAnimation)
|
|
13
|
+
for ____, ____value in ipairs(subscriptions) do
|
|
14
|
+
local callback = ____value[1]
|
|
15
|
+
local slotVariant = ____value[2]
|
|
16
|
+
do
|
|
17
|
+
if slotVariant ~= nil and slotVariant ~= slot.Variant then
|
|
18
|
+
goto __continue5
|
|
19
|
+
end
|
|
20
|
+
callback(nil, slot, previousAnimation, currentAnimation)
|
|
21
|
+
end
|
|
22
|
+
::__continue5::
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
return ____exports
|
|
@@ -37,6 +37,7 @@ import { PostPlayerUpdateReorderedCallbackType } from "../callbacks/subscription
|
|
|
37
37
|
import { PostProjectileInitLateCallbackType } from "../callbacks/subscriptions/postProjectileInitLate";
|
|
38
38
|
import { PostPurchaseCallbackType } from "../callbacks/subscriptions/postPurchase";
|
|
39
39
|
import { PostSacrificeCallbackType } from "../callbacks/subscriptions/postSacrifice";
|
|
40
|
+
import { PostSlotAnimationChangedCallbackType } from "../callbacks/subscriptions/postSlotAnimationChanged";
|
|
40
41
|
import { PostSlotDestroyedCallbackType } from "../callbacks/subscriptions/postSlotDestroyed";
|
|
41
42
|
import { PostSlotInitCallbackType } from "../callbacks/subscriptions/postSlotInit";
|
|
42
43
|
import { PostSlotRenderCallbackType } from "../callbacks/subscriptions/postSlotRender";
|
|
@@ -196,6 +197,10 @@ export interface CallbackParametersCustom {
|
|
|
196
197
|
callback: PostSlotRenderCallbackType,
|
|
197
198
|
slotVariant?: SlotVariant
|
|
198
199
|
];
|
|
200
|
+
[ModCallbacksCustom.MC_POST_SLOT_ANIMATION_CHANGED]: [
|
|
201
|
+
callback: PostSlotAnimationChangedCallbackType,
|
|
202
|
+
slotVariant?: SlotVariant
|
|
203
|
+
];
|
|
199
204
|
[ModCallbacksCustom.MC_POST_SLOT_DESTROYED]: [
|
|
200
205
|
callback: PostSlotDestroyedCallbackType,
|
|
201
206
|
slotVariant?: SlotVariant
|
|
@@ -47,13 +47,14 @@ export declare enum ModCallbacksCustom {
|
|
|
47
47
|
MC_POST_SLOT_INIT = 38,
|
|
48
48
|
MC_POST_SLOT_UPDATE = 39,
|
|
49
49
|
MC_POST_SLOT_RENDER = 40,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
50
|
+
MC_POST_SLOT_ANIMATION_CHANGED = 41,
|
|
51
|
+
MC_POST_SLOT_DESTROYED = 42,
|
|
52
|
+
MC_POST_GRID_ENTITY_INIT = 43,
|
|
53
|
+
MC_POST_GRID_ENTITY_UPDATE = 44,
|
|
54
|
+
MC_POST_GRID_ENTITY_REMOVE = 45,
|
|
55
|
+
MC_POST_GRID_ENTITY_STATE_CHANGE = 46,
|
|
56
|
+
MC_POST_GRID_ENTITY_BROKEN = 47,
|
|
57
|
+
MC_POST_GRID_ENTITY_COLLISION = 48,
|
|
58
|
+
MC_POST_BONE_SWING = 49,
|
|
59
|
+
MC_POST_CUSTOM_DOOR_ENTER = 50
|
|
59
60
|
}
|
|
@@ -83,22 +83,24 @@ ____exports.ModCallbacksCustom.MC_POST_SLOT_UPDATE = 39
|
|
|
83
83
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_SLOT_UPDATE] = "MC_POST_SLOT_UPDATE"
|
|
84
84
|
____exports.ModCallbacksCustom.MC_POST_SLOT_RENDER = 40
|
|
85
85
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_SLOT_RENDER] = "MC_POST_SLOT_RENDER"
|
|
86
|
-
____exports.ModCallbacksCustom.
|
|
86
|
+
____exports.ModCallbacksCustom.MC_POST_SLOT_ANIMATION_CHANGED = 41
|
|
87
|
+
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_SLOT_ANIMATION_CHANGED] = "MC_POST_SLOT_ANIMATION_CHANGED"
|
|
88
|
+
____exports.ModCallbacksCustom.MC_POST_SLOT_DESTROYED = 42
|
|
87
89
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_SLOT_DESTROYED] = "MC_POST_SLOT_DESTROYED"
|
|
88
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_INIT =
|
|
90
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_INIT = 43
|
|
89
91
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_INIT] = "MC_POST_GRID_ENTITY_INIT"
|
|
90
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_UPDATE =
|
|
92
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_UPDATE = 44
|
|
91
93
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_UPDATE] = "MC_POST_GRID_ENTITY_UPDATE"
|
|
92
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_REMOVE =
|
|
94
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_REMOVE = 45
|
|
93
95
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_REMOVE] = "MC_POST_GRID_ENTITY_REMOVE"
|
|
94
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_STATE_CHANGE =
|
|
96
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_STATE_CHANGE = 46
|
|
95
97
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_STATE_CHANGE] = "MC_POST_GRID_ENTITY_STATE_CHANGE"
|
|
96
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_BROKEN =
|
|
98
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_BROKEN = 47
|
|
97
99
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_BROKEN] = "MC_POST_GRID_ENTITY_BROKEN"
|
|
98
|
-
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_COLLISION =
|
|
100
|
+
____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_COLLISION = 48
|
|
99
101
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_GRID_ENTITY_COLLISION] = "MC_POST_GRID_ENTITY_COLLISION"
|
|
100
|
-
____exports.ModCallbacksCustom.MC_POST_BONE_SWING =
|
|
102
|
+
____exports.ModCallbacksCustom.MC_POST_BONE_SWING = 49
|
|
101
103
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_BONE_SWING] = "MC_POST_BONE_SWING"
|
|
102
|
-
____exports.ModCallbacksCustom.MC_POST_CUSTOM_DOOR_ENTER =
|
|
104
|
+
____exports.ModCallbacksCustom.MC_POST_CUSTOM_DOOR_ENTER = 50
|
|
103
105
|
____exports.ModCallbacksCustom[____exports.ModCallbacksCustom.MC_POST_CUSTOM_DOOR_ENTER] = "MC_POST_CUSTOM_DOOR_ENTER"
|
|
104
106
|
return ____exports
|
|
@@ -81,6 +81,8 @@ local ____postPurchase = require("callbacks.subscriptions.postPurchase")
|
|
|
81
81
|
local postPurchaseRegister = ____postPurchase.postPurchaseRegister
|
|
82
82
|
local ____postSacrifice = require("callbacks.subscriptions.postSacrifice")
|
|
83
83
|
local postSacrificeRegister = ____postSacrifice.postSacrificeRegister
|
|
84
|
+
local ____postSlotAnimationChanged = require("callbacks.subscriptions.postSlotAnimationChanged")
|
|
85
|
+
local postSlotAnimationChangedRegister = ____postSlotAnimationChanged.postSlotAnimationChangedRegister
|
|
84
86
|
local ____postSlotDestroyed = require("callbacks.subscriptions.postSlotDestroyed")
|
|
85
87
|
local postSlotDestroyedRegister = ____postSlotDestroyed.postSlotDestroyedRegister
|
|
86
88
|
local ____postSlotInit = require("callbacks.subscriptions.postSlotInit")
|
|
@@ -370,6 +372,12 @@ function getCallbackRegisterFunction(self, callbackID)
|
|
|
370
372
|
return postSlotRenderRegister
|
|
371
373
|
end
|
|
372
374
|
end
|
|
375
|
+
____cond19 = ____cond19 or ____switch19 == ModCallbacksCustom.MC_POST_SLOT_ANIMATION_CHANGED
|
|
376
|
+
if ____cond19 then
|
|
377
|
+
do
|
|
378
|
+
return postSlotAnimationChangedRegister
|
|
379
|
+
end
|
|
380
|
+
end
|
|
373
381
|
____cond19 = ____cond19 or ____switch19 == ModCallbacksCustom.MC_POST_SLOT_DESTROYED
|
|
374
382
|
if ____cond19 then
|
|
375
383
|
do
|
package/dist/upgradeMod.lua
CHANGED
|
@@ -57,8 +57,8 @@ local ____postSacrifice = require("callbacks.postSacrifice")
|
|
|
57
57
|
local postSacrificeCallbackInit = ____postSacrifice.postSacrificeCallbackInit
|
|
58
58
|
local ____postSlotInitUpdate = require("callbacks.postSlotInitUpdate")
|
|
59
59
|
local postSlotInitUpdateCallbacksInit = ____postSlotInitUpdate.postSlotInitUpdateCallbacksInit
|
|
60
|
-
local
|
|
61
|
-
local
|
|
60
|
+
local ____postSlotRender = require("callbacks.postSlotRender")
|
|
61
|
+
local postSlotRenderCallbacksInit = ____postSlotRender.postSlotRenderCallbacksInit
|
|
62
62
|
local ____postTearInitLate = require("callbacks.postTearInitLate")
|
|
63
63
|
local postTearInitLateCallbackInit = ____postTearInitLate.postTearInitLateCallbackInit
|
|
64
64
|
local ____postTearInitVeryLate = require("callbacks.postTearInitVeryLate")
|
|
@@ -130,7 +130,7 @@ function initCustomCallbacks(self, mod)
|
|
|
130
130
|
postTrinketBreakCallbackInit(nil, mod)
|
|
131
131
|
postCursedTeleportCallbackInit(nil, mod)
|
|
132
132
|
postSlotInitUpdateCallbacksInit(nil, mod)
|
|
133
|
-
|
|
133
|
+
postSlotRenderCallbacksInit(nil, mod)
|
|
134
134
|
postGridEntityCallbacksInit(nil, mod)
|
|
135
135
|
postGridEntityCollisionInit(nil, mod)
|
|
136
136
|
postBoneSwingCallbackInit(nil, mod)
|