Browse Source

Made LE data can be loaded outside of LE

Gyedo Jeon 16 years ago
parent
commit
64c08313bd
2 changed files with 13 additions and 9 deletions
  1. 8 6
      direct/src/leveleditor/FileMgr.py
  2. 5 3
      direct/src/leveleditor/ObjectMgr.py

+ 8 - 6
direct/src/leveleditor/FileMgr.py

@@ -1,9 +1,10 @@
 import os
 import os
 import imp
 import imp
 
 
-import ObjectMgr
-import ObjectHandler
-import ObjectPalette
+from ObjectMgr import ObjectMgr
+from ObjectHandler import ObjectHandler
+from ObjectPalette import ObjectPalette
+from ProtoPalette import ProtoPalette
 import ObjectGlobals as OG
 import ObjectGlobals as OG
 
 
 class FileMgr:
 class FileMgr:
@@ -45,9 +46,10 @@ class FileMgr:
         file, pathname, description = imp.find_module(moduleName, [dirname])
         file, pathname, description = imp.find_module(moduleName, [dirname])
         try:
         try:
             if self.editor is None: # when loaded outside of LE
             if self.editor is None: # when loaded outside of LE
-                base.objectPalette = ObjectPalette.ObjectPalette()
-                base.objectHandler = ObjectHandler.ObjectHandler(None)
-                base.objectMgr = ObjectMgr.ObjectMgr(None)
+                base.objectPalette = ObjectPalette()
+                base.protoPalette = ProtoPalette()
+                base.objectHandler = ObjectHandler(None)
+                base.objectMgr = ObjectMgr(None)
 
 
             module = imp.load_module(moduleName, file, pathname, description)
             module = imp.load_module(moduleName, file, pathname, description)
         except:
         except:

+ 5 - 3
direct/src/leveleditor/ObjectMgr.py

@@ -67,8 +67,10 @@ class ObjectMgr:
             objDef = self.editor.objectPalette.findItem(typeName)
             objDef = self.editor.objectPalette.findItem(typeName)
             if objDef is None:
             if objDef is None:
                 objDef = self.editor.protoPalette.findItem(typeName)
                 objDef = self.editor.protoPalette.findItem(typeName)
-        else:
+        else: # when loaded outside of LE
             objDef = base.objectPalette.findItem(typeName)
             objDef = base.objectPalette.findItem(typeName)
+            if objDef is None:
+                objDef = base.protoPalette.findItem(typeName)
         newobj = None
         newobj = None
         if objDef and type(objDef) != dict:
         if objDef and type(objDef) != dict:
             if objDef.createFunction:
             if objDef.createFunction:
@@ -78,7 +80,7 @@ class ObjectMgr:
                     # when it's using default objectHandler
                     # when it's using default objectHandler
                     if self.editor:
                     if self.editor:
                         func = Functor(eval("base.le.objectHandler%s"%funcName))
                         func = Functor(eval("base.le.objectHandler%s"%funcName))
-                    else:
+                    else: # when loaded outside of LE
                         func = Functor(eval("base.objectHandler%s"%funcName))                        
                         func = Functor(eval("base.objectHandler%s"%funcName))                        
                 else:
                 else:
                     # when it's not using default objectHandler, whole name of the handling obj
                     # when it's not using default objectHandler, whole name of the handling obj
@@ -405,7 +407,7 @@ class ObjectMgr:
         if funcName.startswith('.'):
         if funcName.startswith('.'):
             if self.editor:
             if self.editor:
                 func = Functor(eval("base.le.objectHandler%s"%funcName))
                 func = Functor(eval("base.le.objectHandler%s"%funcName))
-            else:
+            else: # when loaded outside of LE
                 func = Functor(eval("base.objectHandler%s"%funcName))                
                 func = Functor(eval("base.objectHandler%s"%funcName))                
         else:
         else:
             func = Functor(eval(funcName))
             func = Functor(eval(funcName))