I have posted a few times having made a single custom class out of AIBase, AIPath and my own requirements. However I’m noticing that there are issues each time I upgrade to the latest version. On top of that, I miss out on any new features you add (like the ability to slow down to a stop).
I wondered if you could point me in the right direction of overriding AIPath non-destructively so future upgrades will not cause any issues (or just require minor tweaks). I’ve had a look through the code, and can’t seem to find a way to cleanly do some of the things I need. I’m hoping it’s a breeze for you to know where to override!
Here’s what I’m hoping to achieve:
- No gravity, top down X/Y grid (this is obviously already possible)
- Essentially a GetMaxSpeed() method (none exists, is there another way to achieve this?) My speed varies semi-frequently, I’d like to get the value each update.
- Move with a custom controller. Basically take the delta calculated by your class and move my own custom controller with it, in the same way you do CharacterController. (And still use RVO.)
- No rotation. I don’t want any rotation at all. All movement should be directly towards the desired waypoint.
- The ability to pause movement instantly (I have a GameManager.IsPaused which I currently just check at the top of FixedUpdate, is it possible to insert the same check somewhere?)
- The ability to send a Move(Vector2.zero) to my controller when no movement is taking place (as it stores its own velocity etc. that need to be updated)
Thanks for any help you can offer!