ChenghaoImp.lua 957 B

123456789101112131415161718192021222324252627282930313233
  1. local Msg = require("core.Msg")
  2. local RoleAttr = require("role.RoleAttr")
  3. local RoleExcel = require("excel.role")
  4. local RoleHeadLogic = require("role.RoleHeadLogic")
  5. local function wrapChenghaoNet(net,id, conf, isActive)
  6. net.id = id
  7. net.name = conf.name
  8. net.desc = conf.desc
  9. local len = 0
  10. for k,v in ipairs(conf.attrs) do
  11. len = len + 1
  12. net.attrs[len].key = v[1]
  13. net.attrs[len].value = v[2]
  14. end
  15. net.attrs[0] = len
  16. net.isActive = isActive and 1 or 0
  17. end
  18. function query(human)
  19. local msgRet = Msg.gc.GC_CHENGHAO_QUERY
  20. local chenghaoDB = human.db.chenghao
  21. msgRet.list[0] = 0
  22. for id, cf in pairs(RoleExcel.chenghao) do
  23. local isActive = RoleHeadLogic.isActive(human, RoleHeadLogic.HEAD_TYPE_4, id)
  24. msgRet.list[0] = msgRet.list[0] + 1
  25. local net = msgRet.list[msgRet.list[0]]
  26. wrapChenghaoNet(net,id, cf, isActive)
  27. end
  28. msgRet.id = human.db.chenghao or 0
  29. --Msg.trace(msgRet)
  30. Msg.send(msgRet,human.fd)
  31. end