| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- local PetsEquipData = class( "PetsEquipData" )
- function PetsEquipData:ctor()
- self.dataByMakeIndex = {}
- self.dataByPos = {} --MakeIndex
- end
- function PetsEquipData:GetData()
- return self.dataByMakeIndex
- end
- function PetsEquipData:GetPetsPosData(petsIdx, pos)
- local posData = self.dataByPos[petsIdx] or {}
- if posData and next(posData) then
- return posData[pos]
- end
- return nil
- end
- function PetsEquipData:GetDataByMakeIndex(MakeIndex)
- if self.dataByMakeIndex[MakeIndex] then
- return self.dataByMakeIndex[MakeIndex]
- end
- return nil
- end
- function PetsEquipData:GetDataByPos(petIdx, pos)
- local item = nil
- if self.dataByPos[petIdx] and self.dataByPos[petIdx][pos] then
-
- local MakeIndex = self.dataByPos[petIdx][pos].MakeIndex
- if MakeIndex then
- item = self:GetDataByMakeIndex(MakeIndex)
- end
- end
- return item
- end
- function PetsEquipData:ClearData()
- self.dataByMakeIndex = {}
- self.dataByPos = {}
- end
- function PetsEquipData:AddEquipData(item, petIdx)
- local MakeIndex = item.MakeIndex
- local Where = item.Where
- self.dataByMakeIndex[MakeIndex] = item
- if not self.dataByPos[petIdx] then
- self.dataByPos[petIdx]= {}
- end
- if not self.dataByPos[petIdx][Where] then
- self.dataByPos[petIdx][Where] = {}
- end
- self.dataByPos[petIdx][Where].MakeIndex = MakeIndex
- if self.dataByPos[petIdx][Where] and next(self.dataByPos[petIdx][Where]) then
- end
- end
- function PetsEquipData:DelEquipData(item, petIdx)
- local equip = self:GetDataByMakeIndex(item.MakeIndex)
- if equip then
- local Where = equip.Where
- self.dataByPos[petIdx][Where] = nil
- self.dataByMakeIndex[item.MakeIndex] = nil
- end
- end
- function PetsEquipData:ChangeItem(item)
- local MakeIndex = item.MakeIndex
- if self.dataByMakeIndex[MakeIndex] then
- self.dataByMakeIndex[MakeIndex] = item
- end
- end
- function PetsEquipData:ClearDataByPetIdx(petIdx)
- local needClearList = {}
- if self.dataByPos[petIdx] then
- for _, data in pairs(self.dataByPos[petIdx]) do
- if data.MakeIndex then
- self.dataByMakeIndex[data.MakeIndex] = nil
- end
- end
- end
- self.dataByPos[petIdx] = {}
- end
- return PetsEquipData
|