Beispiel #1
0
    def _osc(self, i, h):

        d = self.owner.basePool.data()
        result = 0
        for i in range(i, h):
            result += V64.singleV64Offset(d[i].basicInt)
        self._offset += result
Beispiel #2
0
    def _osc(self, i, h):

        d = self.owner.basePool.data()
        result = 0
        for i in range(i, h):
            instance = d[i].ä
            if instance is None:
                result += 1
                continue
            result += V64.singleV64Offset(instance.getSkillID())
        self._offset += result
Beispiel #3
0
    def _osc(self, i, h):

        fType = self.fieldType()

        d = self.owner.basePool.data()
        result = 0
        for i in range(i, h):
            v = d[i].varr
            if v is None:
                size = 0
            else:
                size = len(v)
            if 0 == size:
                result += 1
            else:
                result += V64.singleV64Offset(size)
                for x in v:
                    result += V64.singleV64Offset(x)

        self._offset += result
Beispiel #4
0
    def _osc(self, i, h):

        fType = self.fieldType()
        d = self.owner.basePool.data()
        result = 0
        for i in range(i, h):
            v = d[i].aMap
            if v is None or len(v) == 0:
                result += 1
            else:
                result += V64.singleV64Offset(len(v))
                result += fType.keyType.calculateOffset(v.keys())
                result += fType.valueType.calculateOffset(v.values())

        self._offset += result
Beispiel #5
0
    def _osc(self, i, h):

        fType = self.fieldType()
        size = len(fType)

        d = self.owner.basePool.data()
        result = 0
        for i in range(i, h):
            v = d[i].arr
            if len(v) != len(self.fieldType()):
                raise Exception("constant length array has wrong size")

            for x in v:
                result += V64.singleV64Offset(x)
        self._offset += result
Beispiel #6
0
 def _osc(self, i, h):
     
     fType = self.fieldType()
     
     d = self.owner.basePool.data()
     result = 0
     for i in range(i, h):
         v = d[i].edges
         if v is None:
             size = 0
         else:
             size = len(v)
         if 0 == size:
             result += 1
         else:
             result += V64.singleV64Offset(size)
             result += self.fieldType().groundType.calculateOffset(v)
         
     self._offset += result