flixel icon indicating copy to clipboard operation
flixel copied to clipboard

SUGGESTION: Add function to set/update `FlxTilemap` with an Array

Open SeiferTim opened this issue 1 year ago • 3 comments

Currently, if you want to change the value(s) of a FlxTilemap you can either call setTile or one of the load functions.

If you want to replace the entire tilemap's data, you have to loop through each tile, or call a load function and pass all the parameters, including the tile graphic again.

If the tile graphic no longer exists, this is not viable.

I propose a function: setData which would take an Array<Int> and just replaces _data with this new array and does all the updating stuff that setTile needs to do.

SeiferTim avatar Apr 04 '24 23:04 SeiferTim

we talked about this in discord, sounds like you want a loadMapFromArray but without graphic data, I suggest we make an equivalent for loadMapFromCSV, loadMapFromArray, loadMapFrom2DArray and loadMapFromGraphic, I'm thinking setTilesFromCSV, setTilesFromArray, setTilesFrom2DArray and setTilesFromGraphic

Geokureli avatar Apr 05 '24 01:04 Geokureli

we talked about this in discord, sounds like you want a loadMapFromArray but without graphic data, I suggest we make an equivalent for loadMapFromCSV, loadMapFromArray, loadMapFrom2DArray and loadMapFromGraphic, I'm thinking setTilesFromCSV, setTilesFromArray, setTilesFrom2DArray and setTilesFromGraphic

Makes sense to me.

When the ONLY thing you are changing is the data, and nothing else needs to change (widthByTiles, AutoTiles, etc) makes no sense to go through the whole loadMap stuff again.

SeiferTim avatar Apr 05 '24 01:04 SeiferTim

whoever implements this, consider what happens if this is called before a graphic is set, is it possible for that to work without crashing or should we warn or throw an error? should we also add a way to set the graphic? should setGraphic work for this, will that set _tileWidth and stuff?

Geokureli avatar Apr 05 '24 02:04 Geokureli