Git Product home page Git Product logo

Comments (8)

prettymuchbryce avatar prettymuchbryce commented on June 7, 2024

It is! There are a lot of improvements we'd like to make and not all of these are reflected within the Issues. I'll share a recent comment I left in #82.

This project could really use some TLC. It's past due to be converted to TypeScript along with generating both ESM and CJS bundles. These things should probably happen as part of a 1.0.0 release.

I'm definitely open to any and all suggestions or PRs to improve things. Theres probably also room for some general housekeeping around Issues and PRs, which I haven't had an opportunity to get around to just yet 😬 but probably should do soon.

from easystarjs.

ariesclark avatar ariesclark commented on June 7, 2024

Ah I see, I saw quite a few stale PRs and issues so I wasn't sure, that could use some cleaning up.
I was considering making my own fork with quite a few changes and improvements.

from easystarjs.

prettymuchbryce avatar prettymuchbryce commented on June 7, 2024

Well if you're interested in contributing your improvements back here then I would certainly welcome it, but if you decide you want to take a different direction then you're of course welcome to fork and do whatever you like. The license is very permissive for this reason. 😄

from easystarjs.

ariesclark avatar ariesclark commented on June 7, 2024

honestly, I just wanted the customization to declare custom functions for things like isTileWalkable, checkAdjacentNode ect.

from easystarjs.

prettymuchbryce avatar prettymuchbryce commented on June 7, 2024

I like the idea of providing a custom function for something like this. You're jogging my memory of a past PR that started to do something similar, but I don't believe it was ever finished.

#40

from easystarjs.

oyed avatar oyed commented on June 7, 2024

Would love a custom condition for those functions - would allow for things like elevation, especially useful for isometric games (E.g. can't go from tile -> tile if elevation is too high)

from easystarjs.

ariesclark avatar ariesclark commented on June 7, 2024

I ended up writing my own implementation.
It's usable something like this.

const WALL_TILE = Object.freeze(new AStaar.TileMeta({walkable: false}));
const SLOW_TILE = Object.freeze(new AStaar.TileMeta({cost: 2}));
const NORMAL_TILE = Object.freeze(new AStaar.TileMeta());

export let astaar = new AStaar({
	getTile: function (x, y) {
		if (!window.app.biomeData[x] || !window.app.biomeData[x][y]) return WALL_TILE;
		let color = window.app.biomeData[x][y];
        
		switch (color) {
		case "#808080":
			return WALL_TILE;
		case "...":
			return SLOW_TILE;
		default:
			return NORMAL_TILE;
		}
	}
});```

from easystarjs.

oyed avatar oyed commented on June 7, 2024

Not sure that'd work for my use-case unfortunately - elevation would depend on knowing both the current and target tile to know if the elevation difference is too high :(

from easystarjs.

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.