瀏覽代碼

Better handling of failed loading of source textures and nodes.

Josh Wilson 20 年之前
父節點
當前提交
fa89b32ba1
共有 1 個文件被更改,包括 6 次插入10 次删除
  1. 6 10
      direct/src/particles/SpriteParticleRendererExt.py

+ 6 - 10
direct/src/particles/SpriteParticleRendererExt.py

@@ -30,12 +30,12 @@ class SpriteParticleRendererExt(SpriteParticleRenderer):
     def setTextureFromFile(self, fileName = None):
     def setTextureFromFile(self, fileName = None):
         if fileName == None:
         if fileName == None:
             fileName = self.getSourceTextureName()
             fileName = self.getSourceTextureName()
-        else:
-            self.setSourceTextureName(fileName)
+        
 
 
         t = loader.loadTexture(fileName)
         t = loader.loadTexture(fileName)
         if (t != None):
         if (t != None):
             self.setTexture(t,fileName)
             self.setTexture(t,fileName)
+            self.setSourceTextureName(fileName)
             return True
             return True
         else:
         else:
             print "Couldn't find rendererSpriteTexture file: %s" % fileName
             print "Couldn't find rendererSpriteTexture file: %s" % fileName
@@ -43,8 +43,7 @@ class SpriteParticleRendererExt(SpriteParticleRenderer):
 
 
     def addTextureFromFile(self, fileName = None):
     def addTextureFromFile(self, fileName = None):
         if(self.getNumAnims == 0):
         if(self.getNumAnims == 0):
-            self.setTextureFromFile(fileName)
-            return
+            return self.setTextureFromFile(fileName)            
         
         
         if fileName == None:
         if fileName == None:
             fileName = self.getSourceTextureName()
             fileName = self.getSourceTextureName()
@@ -82,13 +81,9 @@ class SpriteParticleRendererExt(SpriteParticleRenderer):
     def setTextureFromNode(self, modelName = None, nodeName = None, sizeFromTexels = True):
     def setTextureFromNode(self, modelName = None, nodeName = None, sizeFromTexels = True):
         if modelName == None:
         if modelName == None:
             modelName = self.getSourceFileName()
             modelName = self.getSourceFileName()
-        else:
-            self.setSourceFileName(modelName)
             
             
         if nodeName == None:
         if nodeName == None:
             nodeName = self.getSourceNodeName()
             nodeName = self.getSourceNodeName()
-        else:
-            self.setSourceNodeName(nodeName)
             
             
         # Load model and get texture
         # Load model and get texture
         m = loader.loadModelOnce(modelName)
         m = loader.loadModelOnce(modelName)
@@ -103,13 +98,14 @@ class SpriteParticleRendererExt(SpriteParticleRenderer):
             return False
             return False
 
 
         self.setFromNode(np, modelName, nodeName, sizeFromTexels)
         self.setFromNode(np, modelName, nodeName, sizeFromTexels)
+        self.setSourceFileName(modelName)
+        self.setSourceNodeName(nodeName)
         m.removeNode()
         m.removeNode()
         return True
         return True
         
         
     def addTextureFromNode(self, modelName = None, nodeName = None, sizeFromTexels = True):
     def addTextureFromNode(self, modelName = None, nodeName = None, sizeFromTexels = True):
         if(self.getNumAnims == 0):
         if(self.getNumAnims == 0):
-            self.setTextureFromNode(modelName,nodeName,sizeFromTexels)
-            return
+            return self.setTextureFromNode(modelName,nodeName,sizeFromTexels)
 
 
         if modelName == None:
         if modelName == None:
             modelName = self.getSourceFileName()
             modelName = self.getSourceFileName()