@quenty/adorneeboundingbox 8.19.2 → 8.19.3
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/CHANGELOG.md +8 -0
- package/package.json +9 -9
- package/src/Shared/AdorneeBoundingBox.lua +40 -36
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [8.19.3](https://github.com/Quenty/NevermoreEngine/compare/@quenty/adorneeboundingbox@8.19.2...@quenty/adorneeboundingbox@8.19.3) (2025-03-21)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @quenty/adorneeboundingbox
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [8.19.2](https://github.com/Quenty/NevermoreEngine/compare/@quenty/adorneeboundingbox@8.19.1...@quenty/adorneeboundingbox@8.19.2) (2025-03-13)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @quenty/adorneeboundingbox
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/adorneeboundingbox",
|
|
3
|
-
"version": "8.19.
|
|
3
|
+
"version": "8.19.3",
|
|
4
4
|
"description": "Handles logic for reactive bounding box monitoring",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -26,19 +26,19 @@
|
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@quenty/baseobject": "^10.8.0",
|
|
29
|
-
"@quenty/brio": "^14.16.
|
|
30
|
-
"@quenty/draw": "^7.8.
|
|
31
|
-
"@quenty/instanceutils": "^13.16.
|
|
29
|
+
"@quenty/brio": "^14.16.1",
|
|
30
|
+
"@quenty/draw": "^7.8.1",
|
|
31
|
+
"@quenty/instanceutils": "^13.16.1",
|
|
32
32
|
"@quenty/loader": "^10.8.0",
|
|
33
33
|
"@quenty/maid": "^3.4.0",
|
|
34
|
-
"@quenty/observablecollection": "^12.19.
|
|
35
|
-
"@quenty/rx": "^13.16.
|
|
36
|
-
"@quenty/selectionutils": "^8.16.
|
|
34
|
+
"@quenty/observablecollection": "^12.19.3",
|
|
35
|
+
"@quenty/rx": "^13.16.1",
|
|
36
|
+
"@quenty/selectionutils": "^8.16.1",
|
|
37
37
|
"@quenty/signal": "^7.10.0",
|
|
38
|
-
"@quenty/valueobject": "^13.16.
|
|
38
|
+
"@quenty/valueobject": "^13.16.1"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "6b7c3e15e60cdb185986207b574e2b5591261e7a"
|
|
44
44
|
}
|
|
@@ -25,16 +25,18 @@ function AdorneeBoundingBox.new(initialAdornee)
|
|
|
25
25
|
self._bbCFrame = self._maid:Add(ValueObject.new(nil))
|
|
26
26
|
self._bbSize = self._maid:Add(ValueObject.new(Vector3.zero, "Vector3"))
|
|
27
27
|
|
|
28
|
-
self._maid:GiveTask(self._adornee
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
self._maid:GiveTask(self._adornee
|
|
29
|
+
:ObserveBrio(function(adornee)
|
|
30
|
+
return adornee ~= nil
|
|
31
|
+
end)
|
|
32
|
+
:Subscribe(function(brio)
|
|
33
|
+
if brio:IsDead() then
|
|
34
|
+
return
|
|
35
|
+
end
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
local maid, adornee = brio:ToMaidAndValue()
|
|
38
|
+
self:_setup(maid, adornee)
|
|
39
|
+
end))
|
|
38
40
|
|
|
39
41
|
return self
|
|
40
42
|
end
|
|
@@ -53,12 +55,12 @@ end
|
|
|
53
55
|
|
|
54
56
|
function AdorneeBoundingBox:ObserveBoundingBox()
|
|
55
57
|
return Rx.combineLatest({
|
|
56
|
-
CFrame = self:ObserveCFrame()
|
|
57
|
-
Size = self:ObserveSize()
|
|
58
|
+
CFrame = self:ObserveCFrame(),
|
|
59
|
+
Size = self:ObserveSize(),
|
|
58
60
|
}):Pipe({
|
|
59
61
|
Rx.where(function(state)
|
|
60
62
|
return state.CFrame and state.Size
|
|
61
|
-
end)
|
|
63
|
+
end),
|
|
62
64
|
})
|
|
63
65
|
end
|
|
64
66
|
|
|
@@ -68,8 +70,8 @@ function AdorneeBoundingBox:GetBoundingBox()
|
|
|
68
70
|
|
|
69
71
|
if cframe and size then
|
|
70
72
|
return {
|
|
71
|
-
CFrame = cframe
|
|
72
|
-
Size = size
|
|
73
|
+
CFrame = cframe,
|
|
74
|
+
Size = size,
|
|
73
75
|
}
|
|
74
76
|
else
|
|
75
77
|
return nil
|
|
@@ -167,8 +169,8 @@ function AdorneeBoundingBox:_setupModel(model)
|
|
|
167
169
|
return topMaid
|
|
168
170
|
end
|
|
169
171
|
|
|
170
|
-
function AdorneeBoundingBox:_setupHumanoid(humanoid)
|
|
171
|
-
assert(typeof(humanoid) == "Instance" and humanoid:IsA("
|
|
172
|
+
function AdorneeBoundingBox:_setupHumanoid(humanoid: Humanoid)
|
|
173
|
+
assert(typeof(humanoid) == "Instance" and humanoid:IsA("Humanoid"), "Bad humanoid")
|
|
172
174
|
|
|
173
175
|
local topMaid = Maid.new()
|
|
174
176
|
|
|
@@ -197,25 +199,27 @@ function AdorneeBoundingBox:_setupAttachment(attachment)
|
|
|
197
199
|
|
|
198
200
|
maid:GiveTask(RxInstanceUtils.observePropertyBrio(attachment, "Parent", function(parent)
|
|
199
201
|
return parent ~= nil
|
|
200
|
-
end)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
202
|
+
end)
|
|
203
|
+
:Pipe({
|
|
204
|
+
RxBrioUtils.switchMapBrio(function(parent)
|
|
205
|
+
if parent:IsA("BasePart") then
|
|
206
|
+
return Rx.combineLatest({
|
|
207
|
+
partCFrame = RxPartBoundingBoxUtils.observePartCFrame(parent),
|
|
208
|
+
attachmentCFrame = RxInstanceUtils.observeProperty(attachment, "CFrame"),
|
|
209
|
+
}):Pipe({
|
|
210
|
+
Rx.map(function(state)
|
|
211
|
+
return state.partCFrame * state.attachmentCFrame
|
|
212
|
+
end),
|
|
213
|
+
})
|
|
214
|
+
else
|
|
215
|
+
return Rx.of(nil)
|
|
216
|
+
end
|
|
217
|
+
end),
|
|
218
|
+
RxBrioUtils.flattenToValueAndNil,
|
|
219
|
+
})
|
|
220
|
+
:Subscribe(function(cframe)
|
|
221
|
+
self._bbCFrame.Value = cframe
|
|
222
|
+
end))
|
|
219
223
|
|
|
220
224
|
return maid
|
|
221
225
|
end
|
|
@@ -236,4 +240,4 @@ function AdorneeBoundingBox:_setupPart(part)
|
|
|
236
240
|
return maid
|
|
237
241
|
end
|
|
238
242
|
|
|
239
|
-
return AdorneeBoundingBox
|
|
243
|
+
return AdorneeBoundingBox
|