isaacscript-common 12.2.0 → 12.3.1
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/index.d.ts +2 -1
- package/dist/isaacscript-common.lua +23 -9
- package/dist/package.lua +1 -1
- package/dist/src/callbacks/customRevive.lua +1 -1
- package/dist/src/features/customStage/backdrop.lua +1 -1
- package/dist/src/features/saveDataManager/constants.d.ts +1 -0
- package/dist/src/features/saveDataManager/constants.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/constants.lua +1 -0
- package/dist/src/features/saveDataManager/exports.d.ts +2 -1
- package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/exports.lua +2 -1
- package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
- package/dist/src/features/saveDataManager/main.lua +14 -4
- package/package.json +1 -1
- package/src/features/saveDataManager/constants.ts +3 -0
- package/src/features/saveDataManager/exports.ts +2 -1
- package/src/features/saveDataManager/main.ts +21 -0
- package/src/functions/rooms.ts +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -10422,7 +10422,8 @@ export declare enum SaveDataKey {
|
|
|
10422
10422
|
* Note that when the player uses Glowing Hour Glass, the save data manager will automatically
|
|
10423
10423
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
10424
10424
|
* was entered. Thus, you should not have to explicitly program support for Glowing Hour Glass into
|
|
10425
|
-
* your mod features that use the save data manager.
|
|
10425
|
+
* your mod features that use the save data manager. If this is undesired for your specific
|
|
10426
|
+
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
10426
10427
|
*
|
|
10427
10428
|
* @param key The name of the file or feature that is submitting data to be managed by the save data
|
|
10428
10429
|
* manager. The save data manager will throw an error if the key is already registered.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 12.
|
|
3
|
+
isaacscript-common 12.3.1
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -25,6 +25,8 @@ information about using TypeScript, see the website: https://isaacscript.github.
|
|
|
25
25
|
|
|
26
26
|
--]]
|
|
27
27
|
|
|
28
|
+
---@diagnostic disable: deprecated
|
|
29
|
+
|
|
28
30
|
|
|
29
31
|
local ____modules = {}
|
|
30
32
|
local ____moduleCache = {}
|
|
@@ -26950,6 +26952,7 @@ ____exports.SAVE_DATA_MANAGER_FEATURE_NAME = "save data manager"
|
|
|
26950
26952
|
--- When the Glowing Hour Glass is used, certain save data keys will automatically be restored to a
|
|
26951
26953
|
-- backup.
|
|
26952
26954
|
____exports.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS = {SaveDataKey.RUN, SaveDataKey.LEVEL}
|
|
26955
|
+
____exports.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY = "__ignoreGlowingHourGlass"
|
|
26953
26956
|
return ____exports
|
|
26954
26957
|
end,
|
|
26955
26958
|
["src.features.saveDataManager.serializationBrands"] = function(...)
|
|
@@ -31673,6 +31676,7 @@ local ____constants = require("src.features.saveDataManager.constants")
|
|
|
31673
31676
|
local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
|
|
31674
31677
|
local SAVE_DATA_MANAGER_FEATURE_NAME = ____constants.SAVE_DATA_MANAGER_FEATURE_NAME
|
|
31675
31678
|
local SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS = ____constants.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS
|
|
31679
|
+
local SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY = ____constants.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY
|
|
31676
31680
|
local ____load = require("src.features.saveDataManager.load")
|
|
31677
31681
|
local loadFromDisk = ____load.loadFromDisk
|
|
31678
31682
|
local ____maps = require("src.features.saveDataManager.maps")
|
|
@@ -31740,9 +31744,14 @@ function makeGlowingHourGlassBackup(self)
|
|
|
31740
31744
|
if childTable == nil then
|
|
31741
31745
|
goto __continue18
|
|
31742
31746
|
end
|
|
31747
|
+
local childTableLuaMap = childTable
|
|
31748
|
+
if childTableLuaMap[SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY] ~= nil then
|
|
31749
|
+
goto __continue18
|
|
31750
|
+
end
|
|
31743
31751
|
local saveDataGlowingHourGlass = saveDataGlowingHourGlassMap[subscriberName]
|
|
31744
31752
|
if saveDataGlowingHourGlass == nil then
|
|
31745
31753
|
saveDataGlowingHourGlass = {}
|
|
31754
|
+
saveDataGlowingHourGlassMap[subscriberName] = saveDataGlowingHourGlass
|
|
31746
31755
|
end
|
|
31747
31756
|
local copiedChildTable = deepCopy(nil, childTable)
|
|
31748
31757
|
saveDataGlowingHourGlass[saveDataKey] = copiedChildTable
|
|
@@ -31762,19 +31771,23 @@ function restoreGlowingHourGlassBackup(self)
|
|
|
31762
31771
|
do
|
|
31763
31772
|
local childTable = saveData[saveDataKey]
|
|
31764
31773
|
if childTable == nil then
|
|
31765
|
-
goto
|
|
31774
|
+
goto __continue25
|
|
31775
|
+
end
|
|
31776
|
+
local childTableLuaMap = childTable
|
|
31777
|
+
if childTableLuaMap[SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY] ~= nil then
|
|
31778
|
+
goto __continue25
|
|
31766
31779
|
end
|
|
31767
31780
|
local saveDataGlowingHourGlass = saveDataGlowingHourGlassMap[subscriberName]
|
|
31768
31781
|
if saveDataGlowingHourGlass == nil then
|
|
31769
|
-
goto
|
|
31782
|
+
goto __continue25
|
|
31770
31783
|
end
|
|
31771
31784
|
local childTableBackup = saveDataGlowingHourGlass[saveDataKey]
|
|
31772
31785
|
if childTableBackup == nil then
|
|
31773
|
-
goto
|
|
31786
|
+
goto __continue25
|
|
31774
31787
|
end
|
|
31775
31788
|
merge(nil, childTable, childTableBackup, subscriberName .. "__glowingHourGlass")
|
|
31776
31789
|
end
|
|
31777
|
-
::
|
|
31790
|
+
::__continue25::
|
|
31778
31791
|
end
|
|
31779
31792
|
end,
|
|
31780
31793
|
SAVE_DATA_MANAGER_DEBUG
|
|
@@ -31949,7 +31962,8 @@ local saveDataMap = ____maps.saveDataMap
|
|
|
31949
31962
|
-- Note that when the player uses Glowing Hour Glass, the save data manager will automatically
|
|
31950
31963
|
-- restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
31951
31964
|
-- was entered. Thus, you should not have to explicitly program support for Glowing Hour Glass into
|
|
31952
|
-
-- your mod features that use the save data manager.
|
|
31965
|
+
-- your mod features that use the save data manager. If this is undesired for your specific
|
|
31966
|
+
-- use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
31953
31967
|
--
|
|
31954
31968
|
-- @param key The name of the file or feature that is submitting data to be managed by the save data
|
|
31955
31969
|
-- manager. The save data manager will throw an error if the key is already registered.
|
|
@@ -33494,7 +33508,7 @@ function logStateChanged(self)
|
|
|
33494
33508
|
end
|
|
33495
33509
|
end
|
|
33496
33510
|
DEBUG = false
|
|
33497
|
-
CustomReviveState =
|
|
33511
|
+
CustomReviveState = {}
|
|
33498
33512
|
CustomReviveState.DISABLED = 0
|
|
33499
33513
|
CustomReviveState[CustomReviveState.DISABLED] = "DISABLED"
|
|
33500
33514
|
CustomReviveState.WAITING_FOR_ROOM_TRANSITION = 1
|
|
@@ -39886,7 +39900,7 @@ function getNumFloorLayers(self, roomShape)
|
|
|
39886
39900
|
end
|
|
39887
39901
|
until true
|
|
39888
39902
|
end
|
|
39889
|
-
BackdropKind =
|
|
39903
|
+
BackdropKind = {}
|
|
39890
39904
|
BackdropKind.N_FLOOR = "nFloors"
|
|
39891
39905
|
BackdropKind.L_FLOOR = "lFloors"
|
|
39892
39906
|
BackdropKind.WALL = "walls"
|
|
@@ -47052,7 +47066,7 @@ return ____exports
|
|
|
47052
47066
|
["package"] = function(...)
|
|
47053
47067
|
return {
|
|
47054
47068
|
name = "isaacscript-common",
|
|
47055
|
-
version = "12.
|
|
47069
|
+
version = "12.3.1",
|
|
47056
47070
|
description = "Helper functions and features for IsaacScript mods.",
|
|
47057
47071
|
keywords = {"isaac", "rebirth", "afterbirth", "repentance"},
|
|
47058
47072
|
homepage = "https://isaacscript.github.io/",
|
package/dist/package.lua
CHANGED
|
@@ -130,7 +130,7 @@ function logStateChanged(self)
|
|
|
130
130
|
end
|
|
131
131
|
end
|
|
132
132
|
DEBUG = false
|
|
133
|
-
CustomReviveState =
|
|
133
|
+
CustomReviveState = {}
|
|
134
134
|
CustomReviveState.DISABLED = 0
|
|
135
135
|
CustomReviveState[CustomReviveState.DISABLED] = "DISABLED"
|
|
136
136
|
CustomReviveState.WAITING_FOR_ROOM_TRANSITION = 1
|
|
@@ -7,4 +7,5 @@ export declare const SAVE_DATA_MANAGER_FEATURE_NAME = "save data manager";
|
|
|
7
7
|
* backup.
|
|
8
8
|
*/
|
|
9
9
|
export declare const SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS: SaveDataKey[];
|
|
10
|
+
export declare const SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY = "__ignoreGlowingHourGlass";
|
|
10
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,SAAmB,CAAC;AAExD,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,gDAAgD,eAG5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,yEAAyE;AACzE,eAAO,MAAM,uBAAuB,SAAmB,CAAC;AAExD,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,gDAAgD,eAG5D,CAAC;AAEF,eAAO,MAAM,+CAA+C,6BAChC,CAAC"}
|
|
@@ -7,4 +7,5 @@ ____exports.SAVE_DATA_MANAGER_FEATURE_NAME = "save data manager"
|
|
|
7
7
|
--- When the Glowing Hour Glass is used, certain save data keys will automatically be restored to a
|
|
8
8
|
-- backup.
|
|
9
9
|
____exports.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS = {SaveDataKey.RUN, SaveDataKey.LEVEL}
|
|
10
|
+
____exports.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY = "__ignoreGlowingHourGlass"
|
|
10
11
|
return ____exports
|
|
@@ -79,7 +79,8 @@ import { SaveData } from "../../interfaces/SaveData";
|
|
|
79
79
|
* Note that when the player uses Glowing Hour Glass, the save data manager will automatically
|
|
80
80
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
81
81
|
* was entered. Thus, you should not have to explicitly program support for Glowing Hour Glass into
|
|
82
|
-
* your mod features that use the save data manager.
|
|
82
|
+
* your mod features that use the save data manager. If this is undesired for your specific
|
|
83
|
+
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
83
84
|
*
|
|
84
85
|
* @param key The name of the file or feature that is submitting data to be managed by the save data
|
|
85
86
|
* manager. The save data manager will throw an error if the key is already registered.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAarD
|
|
1
|
+
{"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAarD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EACpD,GAAG,EAAE,MAAM,EAAE,qEAAqE;AAClF,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EACnC,eAAe,CAAC,EAAE,MAAM,OAAO,GAC9B,IAAI,CAAC;AACR,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EAAE,kEAAkE;AAC/E,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,KAAK,GACrB,IAAI,CAAC;AA+CR;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAQD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,WAAW,GAC1B,IAAI,CAiBN"}
|
|
@@ -98,7 +98,8 @@ local saveDataMap = ____maps.saveDataMap
|
|
|
98
98
|
-- Note that when the player uses Glowing Hour Glass, the save data manager will automatically
|
|
99
99
|
-- restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
100
100
|
-- was entered. Thus, you should not have to explicitly program support for Glowing Hour Glass into
|
|
101
|
-
-- your mod features that use the save data manager.
|
|
101
|
+
-- your mod features that use the save data manager. If this is undesired for your specific
|
|
102
|
+
-- use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
102
103
|
--
|
|
103
104
|
-- @param key The name of the file or feature that is submitting data to be managed by the save data
|
|
104
105
|
-- manager. The save data manager will throw an error if the key is already registered.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AA2BrD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAelE;AAqLD,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACvB,IAAI,CA4CN;AAiBD,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C"}
|
|
@@ -27,6 +27,7 @@ local ____constants = require("src.features.saveDataManager.constants")
|
|
|
27
27
|
local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
|
|
28
28
|
local SAVE_DATA_MANAGER_FEATURE_NAME = ____constants.SAVE_DATA_MANAGER_FEATURE_NAME
|
|
29
29
|
local SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS = ____constants.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS
|
|
30
|
+
local SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY = ____constants.SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY
|
|
30
31
|
local ____load = require("src.features.saveDataManager.load")
|
|
31
32
|
local loadFromDisk = ____load.loadFromDisk
|
|
32
33
|
local ____maps = require("src.features.saveDataManager.maps")
|
|
@@ -94,9 +95,14 @@ function makeGlowingHourGlassBackup(self)
|
|
|
94
95
|
if childTable == nil then
|
|
95
96
|
goto __continue18
|
|
96
97
|
end
|
|
98
|
+
local childTableLuaMap = childTable
|
|
99
|
+
if childTableLuaMap[SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY] ~= nil then
|
|
100
|
+
goto __continue18
|
|
101
|
+
end
|
|
97
102
|
local saveDataGlowingHourGlass = saveDataGlowingHourGlassMap[subscriberName]
|
|
98
103
|
if saveDataGlowingHourGlass == nil then
|
|
99
104
|
saveDataGlowingHourGlass = {}
|
|
105
|
+
saveDataGlowingHourGlassMap[subscriberName] = saveDataGlowingHourGlass
|
|
100
106
|
end
|
|
101
107
|
local copiedChildTable = deepCopy(nil, childTable)
|
|
102
108
|
saveDataGlowingHourGlass[saveDataKey] = copiedChildTable
|
|
@@ -116,19 +122,23 @@ function restoreGlowingHourGlassBackup(self)
|
|
|
116
122
|
do
|
|
117
123
|
local childTable = saveData[saveDataKey]
|
|
118
124
|
if childTable == nil then
|
|
119
|
-
goto
|
|
125
|
+
goto __continue25
|
|
126
|
+
end
|
|
127
|
+
local childTableLuaMap = childTable
|
|
128
|
+
if childTableLuaMap[SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY] ~= nil then
|
|
129
|
+
goto __continue25
|
|
120
130
|
end
|
|
121
131
|
local saveDataGlowingHourGlass = saveDataGlowingHourGlassMap[subscriberName]
|
|
122
132
|
if saveDataGlowingHourGlass == nil then
|
|
123
|
-
goto
|
|
133
|
+
goto __continue25
|
|
124
134
|
end
|
|
125
135
|
local childTableBackup = saveDataGlowingHourGlass[saveDataKey]
|
|
126
136
|
if childTableBackup == nil then
|
|
127
|
-
goto
|
|
137
|
+
goto __continue25
|
|
128
138
|
end
|
|
129
139
|
merge(nil, childTable, childTableBackup, subscriberName .. "__glowingHourGlass")
|
|
130
140
|
end
|
|
131
|
-
::
|
|
141
|
+
::__continue25::
|
|
132
142
|
end
|
|
133
143
|
end,
|
|
134
144
|
SAVE_DATA_MANAGER_DEBUG
|
package/package.json
CHANGED
|
@@ -95,7 +95,8 @@ import {
|
|
|
95
95
|
* Note that when the player uses Glowing Hour Glass, the save data manager will automatically
|
|
96
96
|
* restore any variables on a "run" or "level" object with a backup that was created when the room
|
|
97
97
|
* was entered. Thus, you should not have to explicitly program support for Glowing Hour Glass into
|
|
98
|
-
* your mod features that use the save data manager.
|
|
98
|
+
* your mod features that use the save data manager. If this is undesired for your specific
|
|
99
|
+
* use-case, then add a key of `__ignoreGlowingHourGlass: true` to your "run" or "level" object.
|
|
99
100
|
*
|
|
100
101
|
* @param key The name of the file or feature that is submitting data to be managed by the save data
|
|
101
102
|
* manager. The save data manager will throw an error if the key is already registered.
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
SAVE_DATA_MANAGER_DEBUG,
|
|
14
14
|
SAVE_DATA_MANAGER_FEATURE_NAME,
|
|
15
15
|
SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_BACKUP_KEYS,
|
|
16
|
+
SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY,
|
|
16
17
|
} from "./constants";
|
|
17
18
|
import { loadFromDisk } from "./load";
|
|
18
19
|
import {
|
|
@@ -144,10 +145,22 @@ function makeGlowingHourGlassBackup() {
|
|
|
144
145
|
continue;
|
|
145
146
|
}
|
|
146
147
|
|
|
148
|
+
// Ignore child tables that the end-user has explicitly annotated.
|
|
149
|
+
const childTableLuaMap = childTable as LuaMap<AnyNotNil, unknown>;
|
|
150
|
+
if (
|
|
151
|
+
childTableLuaMap.has(SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY)
|
|
152
|
+
) {
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
|
|
147
156
|
let saveDataGlowingHourGlass =
|
|
148
157
|
saveDataGlowingHourGlassMap.get(subscriberName);
|
|
149
158
|
if (saveDataGlowingHourGlass === undefined) {
|
|
150
159
|
saveDataGlowingHourGlass = new LuaMap<string, unknown>() as SaveData;
|
|
160
|
+
saveDataGlowingHourGlassMap.set(
|
|
161
|
+
subscriberName,
|
|
162
|
+
saveDataGlowingHourGlass,
|
|
163
|
+
);
|
|
151
164
|
}
|
|
152
165
|
|
|
153
166
|
const copiedChildTable = deepCopy(childTable);
|
|
@@ -169,6 +182,14 @@ function restoreGlowingHourGlassBackup() {
|
|
|
169
182
|
continue;
|
|
170
183
|
}
|
|
171
184
|
|
|
185
|
+
// Ignore child tables that the end-user has explicitly annotated.
|
|
186
|
+
const childTableLuaMap = childTable as LuaMap<AnyNotNil, unknown>;
|
|
187
|
+
if (
|
|
188
|
+
childTableLuaMap.has(SAVE_DATA_MANAGER_GLOWING_HOUR_GLASS_IGNORE_KEY)
|
|
189
|
+
) {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
|
|
172
193
|
const saveDataGlowingHourGlass =
|
|
173
194
|
saveDataGlowingHourGlassMap.get(subscriberName);
|
|
174
195
|
if (saveDataGlowingHourGlass === undefined) {
|
package/src/functions/rooms.ts
CHANGED
|
@@ -492,10 +492,10 @@ export function inStartingRoom(): boolean {
|
|
|
492
492
|
*/
|
|
493
493
|
export function isAllRoomsClear(onlyCheckRoomTypes?: RoomType[]): boolean {
|
|
494
494
|
const roomTypeWhitelist =
|
|
495
|
-
onlyCheckRoomTypes === undefined ?
|
|
495
|
+
onlyCheckRoomTypes === undefined ? undefined : new Set(onlyCheckRoomTypes);
|
|
496
496
|
const rooms = getRoomsInsideGrid();
|
|
497
497
|
const matchingRooms =
|
|
498
|
-
roomTypeWhitelist ===
|
|
498
|
+
roomTypeWhitelist === undefined
|
|
499
499
|
? rooms
|
|
500
500
|
: rooms.filter(
|
|
501
501
|
(roomDescriptor) =>
|