123456789101112131415161718192021222324252627282930313233 |
- import bge
-
- def finished_cb(status):
- print("Library (%s) loaded in %.2fms." % (status.libraryName, status.timeTaken))
-
-
- def main(cont):
- own = cont.owner
- sens = cont.sensors['Collision']
-
- if sens.positive:
- mainDir = bge.logic.expandPath("//")
- wLib = mainDir + "assets\\" + own['libName']
- print('colliding')
- to_free = None
-
- if own['libName'] not in str(bge.logic.LibList()):
- print(wLib, 'loading')
- #bge.logic.LibLoad(wLib, 'Scene', asynchronous=True).onFinish = finished_cb
- bge.logic.LibLoad(wLib, 'Scene', async=True).onFinish = finished_cb
- else:
- y = bge.logic.LibList()
- for x in y:
- if own['libName'] in x:
- print('unloading', x)
- to_free = x
- #bge.logic.LibFree(x)
- if to_free != None:
- bge.logic.LibFree(to_free)
- #else:
- #print('cant unload', x, y)
- #print('not loading', bge.logic.LibList(), wLib)
-
|