Yes, but only once
Huh? But I would need to change this enum each time I add new tile type. And then I would need to recompile. Nope!
And I don't plan to have customized textureRects, all I need is (x,y) coordinate, the tile size would stay the same for all tiles.
Much better than having to re-assigning all the IDs manually and it's pretty lightweight.
I would re-assign only those IDs which I would change in the tileset if I use the method which I talked about.
Suppose that level is stored this way:
GGGGGG
GGGGGG
GGRRGG
GGGGGG
...
G is a grass tile and R is a road tile.
Suppose tileset file looks like this:
x=0,y=0,id=G
x=16,y=0,id=R,
...
What if I've decided to move grass tile in other place in the tileset, like (32,32)?
All I need to do is replace x and y coordinates in tileset file.
x=32,y=32,id=G
x=16,y=0,id=R,
...
The level file would not change at all.
If I change the width of the tileset, nothing would change in a tileset, all I need to do is add new tile ids in a tileset file.