Răsfoiți Sursa

added getAttribNames, getAttribDescs returns dict

Darren Ranalli 22 ani în urmă
părinte
comite
3562ae962e
1 a modificat fișierele cu 18 adăugiri și 2 ștergeri
  1. 18 2
      direct/src/level/EntityTypeRegistry.py

+ 18 - 2
direct/src/level/EntityTypeRegistry.py

@@ -37,8 +37,24 @@ class EntityTypeRegistry:
 
 
             self.privCompileAttribDescs(c)
             self.privCompileAttribDescs(c)
 
 
-    def getAttributeDescriptors(self, entityTypeName):
-        return self.typeName2class[entityTypeName]._attribDescs
+    def getAttribNames(self, entityTypeName):
+        """ returns ordered list of attribute names for entity type """
+        # TODO: precompute this
+        attribDescs = self.typeName2class[entityTypeName]._attribDescs
+        attribNames = []
+        for desc in attribDescs:
+            attribNames.append(desc.getName())
+        return attribNames
+
+    def getAttribDescs(self, entityTypeName):
+        """ returns dict of attribName -> attribDescriptor """
+        # TODO: precompute this
+        attribDescs = self.typeName2class[entityTypeName]._attribDescs
+        attribNames = self.getAttribNames(entityTypeName)
+        name2desc = {}
+        for name, desc in zip(attribNames, attribDescs):
+            name2desc[name] = desc
+        return name2desc
 
 
     def privCompileAttribDescs(self, entTypeClass):
     def privCompileAttribDescs(self, entTypeClass):
         # has someone already compiled the info?
         # has someone already compiled the info?