SelfActorSystem.lua 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. --[[
  2. 在多人玩家战斗的情况下,把自身封装成和其它玩家一样的结构,和Api,
  3. 方便统一逻辑处理,省去在取数据或调用Api时的判断
  4. ]]
  5. local SelfActorSystem = class("SelfActorSystem", require("CreateActorSystem"))
  6. -- local LuaToCSData = require('LuaToCSData')
  7. function SelfActorSystem:ctor()
  8. local heroActorData = ManagerContainer.LuaActorDataMgr:GetActorData(true,0)
  9. if heroActorData then
  10. self.heroActorData = ActorData.CloneActorData(heroActorData)
  11. local heroData = ManagerContainer.DataMgr.UserData:GetHeroData(1)
  12. if heroData then
  13. local skillData = heroData.skillData
  14. if skillData then
  15. local skillPrams = skillData:GetUsedSkillParams()
  16. skillPrams = CommonUtil.ReplaceBattleSkillBySkillEquip(heroData, skillPrams)
  17. self.heroActorData:RefreshSkills(skillPrams)
  18. end
  19. end
  20. end
  21. local list = ManagerContainer.DataMgr.PartnerData:GetAllPartnerTeamDatas()
  22. self.fellewActorDatas = {}
  23. if list ~= nil then
  24. for _,v in pairs(list) do
  25. local actorData = ManagerContainer.LuaActorDataMgr:GetActorData(false,v.id)
  26. if actorData then
  27. actorData = ActorData.CloneActorData(actorData)
  28. local heroData = ManagerContainer.DataMgr.UserData:GetHeroData(v.uid)
  29. if heroData then
  30. local skillData = heroData.skillData
  31. if skillData then
  32. local skillPrams = skillData:GetUsedSkillParams()
  33. skillPrams = CommonUtil.ReplaceBattleSkillBySkillEquip(heroData, skillPrams)
  34. actorData:RefreshSkills(skillData:GetUsedSkillParams())
  35. end
  36. end
  37. table.insert(self.fellewActorDatas, actorData)
  38. end
  39. end
  40. end
  41. tbChangePetId = {}
  42. -- local userData = ManagerContainer.DataMgr.UserData
  43. -- local roleParam = {
  44. -- uid = userData:GetId(),
  45. -- id = userData:GetUserRoleId(),
  46. -- jobId = userData:GetJobCfgId(),
  47. -- lv = userData:GetRoleLv(),
  48. -- role = false,
  49. -- mainRole = true,
  50. -- skills = userData:GetSkillData(1),
  51. -- buffs = userData:GetCardBuffs(1),
  52. -- fashion = userData:GetViewData(),
  53. -- petId = 1000,
  54. -- petBaseId = userData:GetId()
  55. -- }
  56. -- local heroActorData = ActorData.CreatePlayerActor(roleParam)
  57. -- local fashionParam = LuaToCSData.CreateFashionParamData(userData:GetUserRoleId(), userData:GetJobCfgId(), userData:GetViewData())
  58. -- self.userData = userData
  59. -- self.heroData = clone(userData:GetHeroData(1), true)
  60. -- self.fashionMap = ManagerContainer.DataMgr.FashionData:GetFashionMap()
  61. -- self:CalcHeroAttrs()
  62. end
  63. function SelfActorSystem:GetUserId()
  64. return ManagerContainer.DataMgr.UserData:GetUserId()
  65. end
  66. function SelfActorSystem:GetUserHeadIcon()
  67. return ManagerContainer.DataMgr.UserData:GetUserHeadIcon()
  68. end
  69. function SelfActorSystem:GetUserNickname()
  70. return ManagerContainer.DataMgr.UserData:GetUserNickname()
  71. end
  72. function SelfActorSystem:GetPlayerActorParam()
  73. if nil ~= self.PetBossActor then --有变身ID 返回变身ID
  74. return self.PetBossActor
  75. end
  76. return self.heroActorData
  77. end
  78. function SelfActorSystem:GetFellowActorParam()
  79. return self.fellewActorDatas
  80. end
  81. function SelfActorSystem:GetHeadFrameId()
  82. return ManagerContainer.DataMgr.UserData:GetHeadFrameId()
  83. end
  84. function SelfActorSystem:CalChangePetActorId()
  85. local PetBossIdRane = 100000
  86. return ManagerContainer.DataMgr.UserData:GetUserId()-- + PetBossIdRane
  87. end
  88. function SelfActorSystem:CreatePetBossActor(ChangePetId)
  89. if nil == self.tbChangePetId then
  90. self.tbChangePetId = {}
  91. end
  92. local ChangePetUId = self:CalChangePetActorId()
  93. self.PetBossActor = ManagerContainer.LuaActorDataMgr:CreatePetBossActor(ChangePetUId, ChangePetId,self.heroActorData.Level)
  94. self.PetBossActor.Level = self.heroActorData.Level
  95. self.PetBossActor.HeadIcon = self.heroActorData.HeadIcon
  96. self.PetBossActor.IsMainRole = true
  97. table.insert(self.tbChangePetId,self.PetBossActor.ID)
  98. return self.PetBossActor
  99. end
  100. function SelfActorSystem:RemoveAllPetBossActor()
  101. for k,v in pairs(tbChangePetId) do
  102. ManagerContainer.LuaActorDataMgr:DeletePetActorData(v)
  103. end
  104. end
  105. function SelfActorSystem:Dispose()
  106. self.RemoveAllPetBossActor()
  107. end
  108. return SelfActorSystem