Git Product home page Git Product logo

Comments (7)

Robmaister avatar Robmaister commented on August 12, 2024

Right, noticed this while fixing the other bug. I'll add overloads to accept a Random object.

from sharpnav.

AqlaSolutions avatar AqlaSolutions commented on August 12, 2024

Wouldn't it be better to just keep one instance inside NavMeshQuery? Or it's supposed to be used in a multithreading environment?

from sharpnav.

Robmaister avatar Robmaister commented on August 12, 2024

IMO a Random object is something that's tangentially related to a query in that a handful of functions need one, but the rest of the class doesn't. It can also be useful for people who want to reproduce a state from a stored seed. Passing the random to the constructor of NavMeshQuery makes it a bit harder to keep track of where the random object is generating numbers.

from sharpnav.

Robmaister avatar Robmaister commented on August 12, 2024

Alright, that should do it. Reopen if you have any issues with the new overloads.

from sharpnav.

AqlaSolutions avatar AqlaSolutions commented on August 12, 2024

There are no issues with the new overloads but there are still with old ones. The problem is not fixed. I'd recommend you to use "default" random instance passed to the constructor in case if the overload without rand parameter is used.

from sharpnav.

Robmaister avatar Robmaister commented on August 12, 2024

I'm not going to add any more members to NavMeshQuery, I'm already planning on slimming it down and possibly moving to a LINQ-esque API. I'll mention to not call it more than once at a time in the documentation for the old overloads, though.

from sharpnav.

Robmaister avatar Robmaister commented on August 12, 2024

@AqlaSolutions now that I'm revisiting this and cleaning up the pathfinding code, I ended up removing the Random parameter and taking one in the constructor mostly because it will reduce the possibility of thread-safety mistakes on the user's end.

from sharpnav.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.