issues
search
1ForeverHD
/
ZonePlus
Construct dynamic zones that utilise region checking, raycasting and the new BasePart.CanTouch property to effectively determine players and parts within their boundaries.
https://devforum.roblox.com/t/zone/1017701
MIT License
74
stars
115
forks
source link
Explore memory issues
#34
Closed
1ForeverHD
closed
3 years ago
1ForeverHD
commented
3 years ago
[x] Consider sharing a checker part between all zones.
[x] Explore whether a zone check can be performed in 2 locations at the same time
[x] Then either do ZoneController or Zone getCheckerPart
[x] Also, why does checkerpart still work outside of worksapce?
[x] Move checkerPart to ReplicatedStorage/worldModel
[x] Tracker
[x] Fix leak
[x] Consider only listening and updating changes instead of everything
[x] Consider only constructing a tracker (such as player) only when needed
[x] Consider a specific item entered and item exited signal / promise
[x] Explore if Signals are CGd if no reference of them remains, otherwise use Promise
[x] zone:onItemEnter(characterOrBasePart, callbackFunc)
[x] zone:onItemExit(characterOrBasePart, callbackFunc)
[x] Technicals
[x] If first callback item in dictionary, Determine if item is already being tracked, note this down,
[x] Record callback functions in dictionary with the item as the key (allow multiple callbacks)
[x] Form a connection with the zone (
zone.itemEntered/Exited
) which listens for these changes. Only form 1 connection per zone.
[x] When item exits/enters, check for callback stuff, then call these if present
[x] If the item was originally untracked, call zone:untrackItem
[x] Add example to docs and thread
[x] Explore:
https://devforum.roblox.com/t/zoneplus-v310-construct-dynamic-zones-and-effectively-determine-players-and-parts-within-their-boundaries/1017701/270?u=foreverhd
zone.itemEntered/Exited
) which listens for these changes. Only form 1 connection per zone.