|
|
@@ -126,7 +126,7 @@ class Loader(DirectObject):
|
|
|
yield await req
|
|
|
|
|
|
# special methods
|
|
|
- def __init__(self, base):
|
|
|
+ def __init__(self, base=None):
|
|
|
self.base = base
|
|
|
self.loader = PandaLoader.getGlobalPtr()
|
|
|
|
|
|
@@ -136,8 +136,6 @@ class Loader(DirectObject):
|
|
|
Loader.loaderIndex += 1
|
|
|
self.accept(self.hook, self.__gotAsyncObject)
|
|
|
|
|
|
- self._loadPythonFileTypes()
|
|
|
-
|
|
|
def destroy(self):
|
|
|
self.ignore(self.hook)
|
|
|
self.loader.stopThreads()
|
|
|
@@ -229,6 +227,10 @@ class Loader(DirectObject):
|
|
|
"""
|
|
|
|
|
|
assert Loader.notify.debug("Loading model: %s" % (modelPath,))
|
|
|
+
|
|
|
+ if not self._loadedPythonFileTypes:
|
|
|
+ self._loadPythonFileTypes()
|
|
|
+
|
|
|
if loaderOptions is None:
|
|
|
loaderOptions = LoaderOptions()
|
|
|
else:
|
|
|
@@ -416,6 +418,9 @@ class Loader(DirectObject):
|
|
|
a callback is used, the model is saved asynchronously, and the
|
|
|
true/false status is passed to the callback function. """
|
|
|
|
|
|
+ if not self._loadedPythonFileTypes:
|
|
|
+ self._loadPythonFileTypes()
|
|
|
+
|
|
|
if loaderOptions is None:
|
|
|
loaderOptions = LoaderOptions()
|
|
|
else:
|