@quenty/parttouchingcalculator 14.20.0 → 14.20.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/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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
|
+
## [14.20.1](https://github.com/Quenty/NevermoreEngine/compare/@quenty/parttouchingcalculator@14.20.0...@quenty/parttouchingcalculator@14.20.1) (2025-04-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* Add types to packages ([2374fb2](https://github.com/Quenty/NevermoreEngine/commit/2374fb2b043cfbe0e9b507b3316eec46a4e353a0))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [14.20.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/parttouchingcalculator@14.19.2...@quenty/parttouchingcalculator@14.20.0) (2025-04-02)
|
|
7
18
|
|
|
8
19
|
**Note:** Version bump only for package @quenty/parttouchingcalculator
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/parttouchingcalculator",
|
|
3
|
-
"version": "14.20.
|
|
3
|
+
"version": "14.20.1",
|
|
4
4
|
"description": "Determines if parts are touching or not",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -25,14 +25,14 @@
|
|
|
25
25
|
"Quenty"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@quenty/binder": "^14.19.
|
|
29
|
-
"@quenty/boundingboxutils": "^4.3.
|
|
30
|
-
"@quenty/characterutils": "^12.18.
|
|
31
|
-
"@quenty/loader": "^10.8.
|
|
32
|
-
"@quenty/qgui": "^2.3.
|
|
28
|
+
"@quenty/binder": "^14.19.1",
|
|
29
|
+
"@quenty/boundingboxutils": "^4.3.1",
|
|
30
|
+
"@quenty/characterutils": "^12.18.1",
|
|
31
|
+
"@quenty/loader": "^10.8.1",
|
|
32
|
+
"@quenty/qgui": "^2.3.2"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "78c3ac0ab08dd18085b6e6e6e4f745e76ed99f68"
|
|
38
38
|
}
|
|
@@ -21,15 +21,15 @@ end
|
|
|
21
21
|
function BinderTouchingCalculator:GetTouchingClass(binder, touchingList, ignoreObject)
|
|
22
22
|
local touching = {}
|
|
23
23
|
|
|
24
|
-
for _, part in
|
|
24
|
+
for _, part in touchingList do
|
|
25
25
|
local object = BinderUtils.findFirstAncestor(binder, part)
|
|
26
26
|
if object then
|
|
27
27
|
if not touching[object] then
|
|
28
28
|
touching[object] = {
|
|
29
|
-
Object = object
|
|
29
|
+
Object = object,
|
|
30
30
|
Touching = {
|
|
31
|
-
part
|
|
32
|
-
}
|
|
31
|
+
part,
|
|
32
|
+
},
|
|
33
33
|
}
|
|
34
34
|
else
|
|
35
35
|
table.insert(touching[object].Touching, part)
|
|
@@ -42,7 +42,7 @@ function BinderTouchingCalculator:GetTouchingClass(binder, touchingList, ignoreO
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
local list = {}
|
|
45
|
-
for _, data in
|
|
45
|
+
for _, data in touching do
|
|
46
46
|
table.insert(list, data)
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -29,7 +29,7 @@ function PartTouchingCalculator:CheckIfTouchingHumanoid(humanoid, parts)
|
|
|
29
29
|
assert(parts, "Must have parts")
|
|
30
30
|
|
|
31
31
|
local humanoidParts = {}
|
|
32
|
-
for _, item in
|
|
32
|
+
for _, item in humanoid.Parent:GetDescendants() do
|
|
33
33
|
if item:IsA("BasePart") then
|
|
34
34
|
table.insert(humanoidParts, item)
|
|
35
35
|
end
|
|
@@ -44,13 +44,13 @@ function PartTouchingCalculator:CheckIfTouchingHumanoid(humanoid, parts)
|
|
|
44
44
|
|
|
45
45
|
local previousProperties = {}
|
|
46
46
|
local toSet = {
|
|
47
|
-
CanCollide = true
|
|
48
|
-
Anchored = false
|
|
47
|
+
CanCollide = true,
|
|
48
|
+
Anchored = false,
|
|
49
49
|
}
|
|
50
50
|
local partSet = {}
|
|
51
|
-
for _, part in
|
|
51
|
+
for _, part in parts do
|
|
52
52
|
previousProperties[part] = {}
|
|
53
|
-
for name, value in
|
|
53
|
+
for name, value in toSet do
|
|
54
54
|
previousProperties[part][name] = part[name]
|
|
55
55
|
part[name] = value
|
|
56
56
|
end
|
|
@@ -62,15 +62,15 @@ function PartTouchingCalculator:CheckIfTouchingHumanoid(humanoid, parts)
|
|
|
62
62
|
|
|
63
63
|
local returnValue = false
|
|
64
64
|
|
|
65
|
-
for _, part in
|
|
65
|
+
for _, part in touching do
|
|
66
66
|
if partSet[part] then
|
|
67
67
|
returnValue = true
|
|
68
68
|
break
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
for part, properties in
|
|
73
|
-
for name, value in
|
|
72
|
+
for part, properties in previousProperties do
|
|
73
|
+
for name, value in properties do
|
|
74
74
|
part[name] = value
|
|
75
75
|
end
|
|
76
76
|
end
|
|
@@ -110,14 +110,14 @@ end
|
|
|
110
110
|
function PartTouchingCalculator:GetTouchingHull(parts, padding)
|
|
111
111
|
local hitParts = {}
|
|
112
112
|
|
|
113
|
-
for _, part in
|
|
114
|
-
for _, TouchingPart in
|
|
113
|
+
for _, part in parts do
|
|
114
|
+
for _, TouchingPart in self:GetTouching(part, padding) do
|
|
115
115
|
hitParts[TouchingPart] = true
|
|
116
116
|
end
|
|
117
117
|
end
|
|
118
118
|
|
|
119
119
|
local touching = {}
|
|
120
|
-
for part, _ in
|
|
120
|
+
for part, _ in hitParts do
|
|
121
121
|
table.insert(touching, part)
|
|
122
122
|
end
|
|
123
123
|
|
|
@@ -142,7 +142,7 @@ function PartTouchingCalculator:GetTouching(basePart, padding)
|
|
|
142
142
|
part = basePart:Clone()
|
|
143
143
|
|
|
144
144
|
-- Remove all tags
|
|
145
|
-
for _, tag in
|
|
145
|
+
for _, tag in CollectionService:GetTags(part) do
|
|
146
146
|
CollectionService:RemoveTag(part, tag)
|
|
147
147
|
end
|
|
148
148
|
|
|
@@ -166,16 +166,16 @@ end
|
|
|
166
166
|
function PartTouchingCalculator:GetTouchingHumanoids(touchingList)
|
|
167
167
|
local touchingHumanoids = {}
|
|
168
168
|
|
|
169
|
-
for _, part in
|
|
169
|
+
for _, part in touchingList do
|
|
170
170
|
local humanoid = part.Parent:FindFirstChildOfClass("Humanoid")
|
|
171
171
|
if humanoid then
|
|
172
172
|
if not touchingHumanoids[humanoid] then
|
|
173
173
|
local player = CharacterUtils.getPlayerFromCharacter(humanoid)
|
|
174
174
|
touchingHumanoids[humanoid] = {
|
|
175
|
-
Humanoid = humanoid
|
|
176
|
-
Character = player and player.Character
|
|
177
|
-
Player = player
|
|
178
|
-
Touching = { part }
|
|
175
|
+
Humanoid = humanoid,
|
|
176
|
+
Character = player and player.Character, -- May be nil
|
|
177
|
+
Player = player, -- May be nil
|
|
178
|
+
Touching = { part },
|
|
179
179
|
}
|
|
180
180
|
else
|
|
181
181
|
table.insert(touchingHumanoids[humanoid].Touching, part)
|
|
@@ -184,7 +184,7 @@ function PartTouchingCalculator:GetTouchingHumanoids(touchingList)
|
|
|
184
184
|
end
|
|
185
185
|
|
|
186
186
|
local list = {}
|
|
187
|
-
for _, data in
|
|
187
|
+
for _, data in touchingHumanoids do
|
|
188
188
|
table.insert(list, data)
|
|
189
189
|
end
|
|
190
190
|
|
|
@@ -20,7 +20,7 @@ function PartTouchingRenderer.new()
|
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
function PartTouchingRenderer:RenderTouchingProps(touchingPartList)
|
|
23
|
-
for _, part in
|
|
23
|
+
for _, part in touchingPartList do
|
|
24
24
|
local selectionBox = Instance.new("SelectionBox")
|
|
25
25
|
selectionBox.Name = "TouchingWarning"
|
|
26
26
|
selectionBox.LineThickness = 0.05
|