So, I want to load random level data using json files rather than try and figure out completely in engine level generation. Problem is that I'm relatively new to GDScript (and programming in general) and don't know much about JSON compatibility. My level file JSONs look like this:
testRoom1.json
{
"ogmoVersion": "3.4.0",
"width": 80,
"height": 60,
"offsetX": 0,
"offsetY": 0,
"layers": [
{
"name": "collision",
"_eid": "02443013",
"offsetX": 0,
"offsetY": 0,
"gridCellWidth": 20,
"gridCellHeight": 20,
"gridCellsX": 4,
"gridCellsY": 3,
"tileset": "Placeholder Tiles",
"data": [-1, -1, -1, -1, 2, -1, -1, 2, -1, -1, -1, -1],
"exportMode": 0,
"arrayMode": 0
}
]
}
And the GDScript I have right now is a bit like this:
levelGen.gd
extends TileMap
func _ready():
var toPrint = _grabTileArray()
print_debug(toPrint)
func _grabTileArray():
var data_file = File.new()
if data_file.open("res://roomData/testRoom1.json", File.READ) != OK:
return null
var data_text = data_file.get_as_text()
data_file.close()
var data_parse = JSON.parse(data_text)
if data_parse.error != OK:
return
var data = data_parse.result
var tileArray = data["layers"]["data"]
return tileArray
Any help would be appreciated.