Fix: Invalid target's position being used #322
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request includes several changes aimed at improving the handling of target positions and ensuring validity checks across the codebase. The most important changes include adding a new extension method for validating target positions, updating various methods to use this new validation method, and adding additional null checks.
Improvements to target position handling:
Package/Runtime/CrashKonijn.Agent.Core/Extensions.cs
: Added a new extension methodGetValidPosition
to validate target positions.Updates to use the new validation method:
Package/Editor/CrashKonijn.Goap.Editor/Drawers/ObjectDrawer.cs
: UpdatedGetValueString
method to useGetValidPosition
forPositionTarget
instances.Package/Editor/CrashKonijn.Goap.Editor/Drawers/WorldDataDrawer.cs
: UpdatedGetValueText
method to useGetValidPosition
forITarget
instances.Package/Editor/CrashKonijn.Goap.Editor/GraphViewer/NodeElement.cs
: UpdatedGetTargetText
method to useGetValidPosition
for target positions.Package/Runtime/CrashKonijn.Goap.Runtime/Classes/Runners/AgentTypeJobRunner.cs
: UpdatedFillBuilders
method to useGetValidPosition
for setting target positions.Additional null checks:
Package/Runtime/CrashKonijn.Agent.Runtime/VectorDistanceObserver.cs
: Added null checks for agent's transform and target's validity inGetDistance
method.Package/Editor/CrashKonijn.Goap.Editor/GraphViewer/ConnectionElement.cs
: Added validity checks forstartVector
andendVector
inGetCost
method.