package rof import ( "encoding/binary" "math" ) type sRofAchievementRow struct { mID int32 mKey string mState int32 mDesc string mInfo string mAchievementCode int32 mCondition int32 mTargetValue int32 } func (pOwn *sRofAchievementRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nKeyLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mKey = string(aBuffer[nOffset:nOffset+nKeyLen]) nOffset+=nKeyLen pOwn.mState = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nDescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mDesc = string(aBuffer[nOffset:nOffset+nDescLen]) nOffset+=nDescLen nInfoLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mInfo = string(aBuffer[nOffset:nOffset+nInfoLen]) nOffset+=nInfoLen pOwn.mAchievementCode = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mCondition = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mTargetValue = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofAchievementRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofAchievementRow) GetKey() string { return pOwn.mKey } func (pOwn *sRofAchievementRow) GetState() int32 { return pOwn.mState } func (pOwn *sRofAchievementRow) GetDesc() string { return pOwn.mDesc } func (pOwn *sRofAchievementRow) GetInfo() string { return pOwn.mInfo } func (pOwn *sRofAchievementRow) GetAchievementCode() int32 { return pOwn.mAchievementCode } func (pOwn *sRofAchievementRow) GetCondition() int32 { return pOwn.mCondition } func (pOwn *sRofAchievementRow) GetTargetValue() int32 { return pOwn.mTargetValue } type sRofAchievementTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofAchievementRow mRowMap map[int32]int32 } func (pOwn *sRofAchievementTable) newTypeObj() iRofRow {return new(sRofAchievementRow)} func (pOwn *sRofAchievementTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofAchievementTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofAchievementTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofAchievementRow)} func (pOwn *sRofAchievementTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofAchievementTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofAchievementRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofAchievementTable) GetDataByID(aID int32) *sRofAchievementRow {return pOwn.mIDMap[aID]} func (pOwn *sRofAchievementTable) GetDataByRow(aIndex int32) *sRofAchievementRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofAchievementTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofAchievementTable) GetCols() int32 {return pOwn.mColNum} type sRofEchoCardRow struct { mID int32 mquality int32 mname string mprice int32 mskillId int32 menemyType string mspritePath string mweight int32 mmaskId string } func (pOwn *sRofEchoCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mskillId = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nenemyTypeLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.menemyType = string(aBuffer[nOffset:nOffset+nenemyTypeLen]) nOffset+=nenemyTypeLen nspritePathLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mspritePath = string(aBuffer[nOffset:nOffset+nspritePathLen]) nOffset+=nspritePathLen pOwn.mweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nmaskIdLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mmaskId = string(aBuffer[nOffset:nOffset+nmaskIdLen]) nOffset+=nmaskIdLen return nOffset } func (pOwn *sRofEchoCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofEchoCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofEchoCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofEchoCardRow) Getprice() int32 { return pOwn.mprice } func (pOwn *sRofEchoCardRow) GetskillId() int32 { return pOwn.mskillId } func (pOwn *sRofEchoCardRow) GetenemyType() string { return pOwn.menemyType } func (pOwn *sRofEchoCardRow) GetspritePath() string { return pOwn.mspritePath } func (pOwn *sRofEchoCardRow) Getweight() int32 { return pOwn.mweight } func (pOwn *sRofEchoCardRow) GetmaskId() string { return pOwn.mmaskId } type sRofEchoCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofEchoCardRow mRowMap map[int32]int32 } func (pOwn *sRofEchoCardTable) newTypeObj() iRofRow {return new(sRofEchoCardRow)} func (pOwn *sRofEchoCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofEchoCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofEchoCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEchoCardRow)} func (pOwn *sRofEchoCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofEchoCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofEchoCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofEchoCardTable) GetDataByID(aID int32) *sRofEchoCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofEchoCardTable) GetDataByRow(aIndex int32) *sRofEchoCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofEchoCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofEchoCardTable) GetCols() int32 {return pOwn.mColNum} type sRofEchoCardGroupRow struct { mID int32 mname string mechoCards string mNweight int32 mRweight int32 mSrweight int32 } func (pOwn *sRofEchoCardGroupRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen nechoCardsLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mechoCards = string(aBuffer[nOffset:nOffset+nechoCardsLen]) nOffset+=nechoCardsLen pOwn.mNweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mRweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mSrweight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofEchoCardGroupRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofEchoCardGroupRow) Getname() string { return pOwn.mname } func (pOwn *sRofEchoCardGroupRow) GetechoCards() string { return pOwn.mechoCards } func (pOwn *sRofEchoCardGroupRow) GetNweight() int32 { return pOwn.mNweight } func (pOwn *sRofEchoCardGroupRow) GetRweight() int32 { return pOwn.mRweight } func (pOwn *sRofEchoCardGroupRow) GetSrweight() int32 { return pOwn.mSrweight } type sRofEchoCardGroupTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofEchoCardGroupRow mRowMap map[int32]int32 } func (pOwn *sRofEchoCardGroupTable) newTypeObj() iRofRow {return new(sRofEchoCardGroupRow)} func (pOwn *sRofEchoCardGroupTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofEchoCardGroupTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofEchoCardGroupTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEchoCardGroupRow)} func (pOwn *sRofEchoCardGroupTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofEchoCardGroupTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofEchoCardGroupRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofEchoCardGroupTable) GetDataByID(aID int32) *sRofEchoCardGroupRow {return pOwn.mIDMap[aID]} func (pOwn *sRofEchoCardGroupTable) GetDataByRow(aIndex int32) *sRofEchoCardGroupRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofEchoCardGroupTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofEchoCardGroupTable) GetCols() int32 {return pOwn.mColNum} type sRofEnemyRow struct { mID int32 menemyHp int64 mawardCoin int32 menemyName string mquality int32 menemyGroup int32 mechoIds string } func (pOwn *sRofEnemyRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.menemyHp = int64(binary.BigEndian.Uint64(aBuffer[nOffset:])) nOffset+=8 pOwn.mawardCoin = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nenemyNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.menemyName = string(aBuffer[nOffset:nOffset+nenemyNameLen]) nOffset+=nenemyNameLen pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.menemyGroup = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nechoIdsLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mechoIds = string(aBuffer[nOffset:nOffset+nechoIdsLen]) nOffset+=nechoIdsLen return nOffset } func (pOwn *sRofEnemyRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofEnemyRow) GetenemyHp() int64 { return pOwn.menemyHp } func (pOwn *sRofEnemyRow) GetawardCoin() int32 { return pOwn.mawardCoin } func (pOwn *sRofEnemyRow) GetenemyName() string { return pOwn.menemyName } func (pOwn *sRofEnemyRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofEnemyRow) GetenemyGroup() int32 { return pOwn.menemyGroup } func (pOwn *sRofEnemyRow) GetechoIds() string { return pOwn.mechoIds } type sRofEnemyTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofEnemyRow mRowMap map[int32]int32 } func (pOwn *sRofEnemyTable) newTypeObj() iRofRow {return new(sRofEnemyRow)} func (pOwn *sRofEnemyTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofEnemyTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofEnemyTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofEnemyRow)} func (pOwn *sRofEnemyTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofEnemyTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofEnemyRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofEnemyTable) GetDataByID(aID int32) *sRofEnemyRow {return pOwn.mIDMap[aID]} func (pOwn *sRofEnemyTable) GetDataByRow(aIndex int32) *sRofEnemyRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofEnemyTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofEnemyTable) GetCols() int32 {return pOwn.mColNum} type sRofExchangeCardRow struct { mID int32 mquality int32 mname string mprice int32 } func (pOwn *sRofExchangeCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofExchangeCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofExchangeCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofExchangeCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofExchangeCardRow) Getprice() int32 { return pOwn.mprice } type sRofExchangeCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofExchangeCardRow mRowMap map[int32]int32 } func (pOwn *sRofExchangeCardTable) newTypeObj() iRofRow {return new(sRofExchangeCardRow)} func (pOwn *sRofExchangeCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofExchangeCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofExchangeCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofExchangeCardRow)} func (pOwn *sRofExchangeCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofExchangeCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofExchangeCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofExchangeCardTable) GetDataByID(aID int32) *sRofExchangeCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofExchangeCardTable) GetDataByRow(aIndex int32) *sRofExchangeCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofExchangeCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofExchangeCardTable) GetCols() int32 {return pOwn.mColNum} type sRofGamePartConfigRow struct { mID int32 menemyHp int64 menemyHpOffset float32 mawardCoin int32 mquailty int32 msceneName string mechoCardGroupID string mfragmentRange string mbaseFragment int32 } func (pOwn *sRofGamePartConfigRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.menemyHp = int64(binary.BigEndian.Uint64(aBuffer[nOffset:])) nOffset+=8 pOwn.menemyHpOffset = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mawardCoin = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquailty = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nsceneNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.msceneName = string(aBuffer[nOffset:nOffset+nsceneNameLen]) nOffset+=nsceneNameLen nechoCardGroupIDLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mechoCardGroupID = string(aBuffer[nOffset:nOffset+nechoCardGroupIDLen]) nOffset+=nechoCardGroupIDLen nfragmentRangeLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mfragmentRange = string(aBuffer[nOffset:nOffset+nfragmentRangeLen]) nOffset+=nfragmentRangeLen pOwn.mbaseFragment = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofGamePartConfigRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofGamePartConfigRow) GetenemyHp() int64 { return pOwn.menemyHp } func (pOwn *sRofGamePartConfigRow) GetenemyHpOffset() float32 { return pOwn.menemyHpOffset } func (pOwn *sRofGamePartConfigRow) GetawardCoin() int32 { return pOwn.mawardCoin } func (pOwn *sRofGamePartConfigRow) Getquailty() int32 { return pOwn.mquailty } func (pOwn *sRofGamePartConfigRow) GetsceneName() string { return pOwn.msceneName } func (pOwn *sRofGamePartConfigRow) GetechoCardGroupID() string { return pOwn.mechoCardGroupID } func (pOwn *sRofGamePartConfigRow) GetfragmentRange() string { return pOwn.mfragmentRange } func (pOwn *sRofGamePartConfigRow) GetbaseFragment() int32 { return pOwn.mbaseFragment } type sRofGamePartConfigTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofGamePartConfigRow mRowMap map[int32]int32 } func (pOwn *sRofGamePartConfigTable) newTypeObj() iRofRow {return new(sRofGamePartConfigRow)} func (pOwn *sRofGamePartConfigTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofGamePartConfigTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofGamePartConfigTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofGamePartConfigRow)} func (pOwn *sRofGamePartConfigTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofGamePartConfigTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofGamePartConfigRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofGamePartConfigTable) GetDataByID(aID int32) *sRofGamePartConfigRow {return pOwn.mIDMap[aID]} func (pOwn *sRofGamePartConfigTable) GetDataByRow(aIndex int32) *sRofGamePartConfigRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofGamePartConfigTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofGamePartConfigTable) GetCols() int32 {return pOwn.mColNum} type sRofMaskCardRow struct { mID int32 mquality int32 mname string mprice int32 } func (pOwn *sRofMaskCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofMaskCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofMaskCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofMaskCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofMaskCardRow) Getprice() int32 { return pOwn.mprice } type sRofMaskCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofMaskCardRow mRowMap map[int32]int32 } func (pOwn *sRofMaskCardTable) newTypeObj() iRofRow {return new(sRofMaskCardRow)} func (pOwn *sRofMaskCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofMaskCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofMaskCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofMaskCardRow)} func (pOwn *sRofMaskCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofMaskCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofMaskCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofMaskCardTable) GetDataByID(aID int32) *sRofMaskCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofMaskCardTable) GetDataByRow(aIndex int32) *sRofMaskCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofMaskCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofMaskCardTable) GetCols() int32 {return pOwn.mColNum} type sRofReplenishCardRow struct { mID int32 mquality int32 mname string mdesc string mprice int32 mhumanWeight int32 mearthWeight int32 mheavenWeight int32 mcardType int32 } func (pOwn *sRofReplenishCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen ndescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mdesc = string(aBuffer[nOffset:nOffset+ndescLen]) nOffset+=ndescLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mhumanWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mearthWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mheavenWeight = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mcardType = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofReplenishCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofReplenishCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofReplenishCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofReplenishCardRow) Getdesc() string { return pOwn.mdesc } func (pOwn *sRofReplenishCardRow) Getprice() int32 { return pOwn.mprice } func (pOwn *sRofReplenishCardRow) GethumanWeight() int32 { return pOwn.mhumanWeight } func (pOwn *sRofReplenishCardRow) GetearthWeight() int32 { return pOwn.mearthWeight } func (pOwn *sRofReplenishCardRow) GetheavenWeight() int32 { return pOwn.mheavenWeight } func (pOwn *sRofReplenishCardRow) GetcardType() int32 { return pOwn.mcardType } type sRofReplenishCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofReplenishCardRow mRowMap map[int32]int32 } func (pOwn *sRofReplenishCardTable) newTypeObj() iRofRow {return new(sRofReplenishCardRow)} func (pOwn *sRofReplenishCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofReplenishCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofReplenishCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofReplenishCardRow)} func (pOwn *sRofReplenishCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofReplenishCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofReplenishCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofReplenishCardTable) GetDataByID(aID int32) *sRofReplenishCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofReplenishCardTable) GetDataByRow(aIndex int32) *sRofReplenishCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofReplenishCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofReplenishCardTable) GetCols() int32 {return pOwn.mColNum} type sRofSecretCardRow struct { mID int32 mquality int32 mname string mprice int32 } func (pOwn *sRofSecretCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofSecretCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofSecretCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofSecretCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofSecretCardRow) Getprice() int32 { return pOwn.mprice } type sRofSecretCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofSecretCardRow mRowMap map[int32]int32 } func (pOwn *sRofSecretCardTable) newTypeObj() iRofRow {return new(sRofSecretCardRow)} func (pOwn *sRofSecretCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofSecretCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofSecretCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofSecretCardRow)} func (pOwn *sRofSecretCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofSecretCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofSecretCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofSecretCardTable) GetDataByID(aID int32) *sRofSecretCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofSecretCardTable) GetDataByRow(aIndex int32) *sRofSecretCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofSecretCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofSecretCardTable) GetCols() int32 {return pOwn.mColNum} type sRofSkillRow struct { mID int32 mskillName string mskillDesc string mquality int32 mprice int32 mcondition string mrate_add float32 mrate_mun float32 matk_add float32 minitSkillAction string mactionTrigger string mskillCondition string mskillActiveRate float32 maction string mcustomSkill string mcomboSkill string mcomboModel int32 } func (pOwn *sRofSkillRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nskillNameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mskillName = string(aBuffer[nOffset:nOffset+nskillNameLen]) nOffset+=nskillNameLen nskillDescLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mskillDesc = string(aBuffer[nOffset:nOffset+nskillDescLen]) nOffset+=nskillDescLen pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nconditionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mcondition = string(aBuffer[nOffset:nOffset+nconditionLen]) nOffset+=nconditionLen pOwn.mrate_add = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mrate_mun = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.matk_add = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 ninitSkillActionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.minitSkillAction = string(aBuffer[nOffset:nOffset+ninitSkillActionLen]) nOffset+=ninitSkillActionLen nactionTriggerLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mactionTrigger = string(aBuffer[nOffset:nOffset+nactionTriggerLen]) nOffset+=nactionTriggerLen nskillConditionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mskillCondition = string(aBuffer[nOffset:nOffset+nskillConditionLen]) nOffset+=nskillConditionLen pOwn.mskillActiveRate = math.Float32frombits(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nactionLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.maction = string(aBuffer[nOffset:nOffset+nactionLen]) nOffset+=nactionLen ncustomSkillLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mcustomSkill = string(aBuffer[nOffset:nOffset+ncustomSkillLen]) nOffset+=ncustomSkillLen ncomboSkillLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mcomboSkill = string(aBuffer[nOffset:nOffset+ncomboSkillLen]) nOffset+=ncomboSkillLen pOwn.mcomboModel = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofSkillRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofSkillRow) GetskillName() string { return pOwn.mskillName } func (pOwn *sRofSkillRow) GetskillDesc() string { return pOwn.mskillDesc } func (pOwn *sRofSkillRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofSkillRow) Getprice() int32 { return pOwn.mprice } func (pOwn *sRofSkillRow) Getcondition() string { return pOwn.mcondition } func (pOwn *sRofSkillRow) Getrate_add() float32 { return pOwn.mrate_add } func (pOwn *sRofSkillRow) Getrate_mun() float32 { return pOwn.mrate_mun } func (pOwn *sRofSkillRow) Getatk_add() float32 { return pOwn.matk_add } func (pOwn *sRofSkillRow) GetinitSkillAction() string { return pOwn.minitSkillAction } func (pOwn *sRofSkillRow) GetactionTrigger() string { return pOwn.mactionTrigger } func (pOwn *sRofSkillRow) GetskillCondition() string { return pOwn.mskillCondition } func (pOwn *sRofSkillRow) GetskillActiveRate() float32 { return pOwn.mskillActiveRate } func (pOwn *sRofSkillRow) Getaction() string { return pOwn.maction } func (pOwn *sRofSkillRow) GetcustomSkill() string { return pOwn.mcustomSkill } func (pOwn *sRofSkillRow) GetcomboSkill() string { return pOwn.mcomboSkill } func (pOwn *sRofSkillRow) GetcomboModel() int32 { return pOwn.mcomboModel } type sRofSkillTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofSkillRow mRowMap map[int32]int32 } func (pOwn *sRofSkillTable) newTypeObj() iRofRow {return new(sRofSkillRow)} func (pOwn *sRofSkillTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofSkillTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofSkillTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofSkillRow)} func (pOwn *sRofSkillTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofSkillTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofSkillRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofSkillTable) GetDataByID(aID int32) *sRofSkillRow {return pOwn.mIDMap[aID]} func (pOwn *sRofSkillTable) GetDataByRow(aIndex int32) *sRofSkillRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofSkillTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofSkillTable) GetCols() int32 {return pOwn.mColNum} type sRofWeaponCardRow struct { mID int32 mquality int32 mname string msprite string mprice int32 } func (pOwn *sRofWeaponCardRow) readBody(aBuffer []byte) int32 { var nOffset int32 pOwn.mID = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mquality = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 nnameLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.mname = string(aBuffer[nOffset:nOffset+nnameLen]) nOffset+=nnameLen nspriteLen := int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 pOwn.msprite = string(aBuffer[nOffset:nOffset+nspriteLen]) nOffset+=nspriteLen pOwn.mprice = int32(binary.BigEndian.Uint32(aBuffer[nOffset:])) nOffset+=4 return nOffset } func (pOwn *sRofWeaponCardRow) GetID() int32 { return pOwn.mID } func (pOwn *sRofWeaponCardRow) Getquality() int32 { return pOwn.mquality } func (pOwn *sRofWeaponCardRow) Getname() string { return pOwn.mname } func (pOwn *sRofWeaponCardRow) Getsprite() string { return pOwn.msprite } func (pOwn *sRofWeaponCardRow) Getprice() int32 { return pOwn.mprice } type sRofWeaponCardTable struct { mRowNum int32 mColNum int32 mIDMap map[int32]*sRofWeaponCardRow mRowMap map[int32]int32 } func (pOwn *sRofWeaponCardTable) newTypeObj() iRofRow {return new(sRofWeaponCardRow)} func (pOwn *sRofWeaponCardTable) setRowNum(aNum int32) {pOwn.mRowNum = aNum} func (pOwn *sRofWeaponCardTable) setColNum(aNum int32) {pOwn.mColNum = aNum} func (pOwn *sRofWeaponCardTable) setIDMap(aKey int32, aValue iRofRow) {pOwn.mIDMap[aKey] = aValue.(*sRofWeaponCardRow)} func (pOwn *sRofWeaponCardTable) setRowMap(aKey int32, aValue int32) {pOwn.mRowMap[aKey] = aValue} func (pOwn *sRofWeaponCardTable) init(aPath string) bool { pOwn.mIDMap = make(map[int32]*sRofWeaponCardRow) pOwn.mRowMap = make(map[int32]int32) return analysisRof(aPath, pOwn) } func (pOwn *sRofWeaponCardTable) GetDataByID(aID int32) *sRofWeaponCardRow {return pOwn.mIDMap[aID]} func (pOwn *sRofWeaponCardTable) GetDataByRow(aIndex int32) *sRofWeaponCardRow { nID, ok := pOwn.mRowMap[aIndex] if ok == false {return nil} return pOwn.mIDMap[nID] } func (pOwn *sRofWeaponCardTable) GetRows() int32 {return pOwn.mRowNum} func (pOwn *sRofWeaponCardTable) GetCols() int32 {return pOwn.mColNum}