importing gameHUD.lua
table: 0x7faafa461490 gameHUD init
stack traceback:
/lua/gameHUD.lua:38: in field 'init'
CoreLibs/object.lua:70: in global 'GameHUD'
/lua/gameHUD.lua:43: in main chunk
importing gameHUD.lua
table: 0x7faafa3dc5b0 gameHUD init
stack traceback:
/lua/level-select/../gameHUD.lua:38: in field 'init'
CoreLibs/object.lua:70: in global 'GameHUD'
/lua/level-select/../gameHUD.lua:43: in main chunk
importing gameHUD.lua
table: 0x7faafa3f0d10 gameHUD init
stack traceback:
/lua/start/../level-select/../gameHUD.lua:38: in field 'init'
CoreLibs/object.lua:70: in global 'GameHUD'
/lua/start/../level-select/../gameHUD.lua:43: in main chunk
What I'm expecting to happen is that the file gets imported once, and also the init function gets called once because I use GameHUD() nowhere else except in the file itself
Wow. I don't know what's going on here or how we missed it, but that's definitely not right. Filed, and will look into it as soon as I catch up on getting all the bug reports in the tracker.
A hunch: when keeping a map of files which have been executed; make sure you use absolute paths so that "ganeHUD.lua" "../gameHUD.lua" get transformed to Source/GameHUD.lua" and match the same entry
That's what it should be doing--I patched the Lua compiler so that import statements resolve the file and replace the given path with the full project-relative path--but I must have goofed something up. But I expect it'll be easy to reproduce with your test case and hopefully not too terrible to fix.