ConditionJudge.lua 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. local ConditionJudge = {}
  2. local JudgeFun = {}
  3. function ConditionJudge:ConditionPassResult(conditionId)
  4. local conditionData = ManagerContainer.CfgMgr:GetCondDataById(conditionId)
  5. local condition = conditionData.Condition
  6. return self:ConditionPassResult1(condition)
  7. end
  8. function ConditionJudge:ConditionPassResult1(condition)
  9. if not condition then
  10. return false, 0, ''
  11. end
  12. local typeId = condition[1]
  13. if not typeId then
  14. return false, 0, ''
  15. end
  16. local fun = JudgeFun[typeId]
  17. if not fun then
  18. return false, 0, ''
  19. end
  20. return fun(condition)
  21. end
  22. JudgeFun[1] = function(condition)
  23. local val = condition[2]
  24. local content = I18N.SetLanguageValue("FunUnLock1", val)
  25. local baseLv = ManagerContainer.DataMgr.UserData:GetRoleLv()
  26. return baseLv >= val, val, content
  27. end
  28. JudgeFun[11] = function(condition)
  29. local val = condition[2]
  30. local levelData = ManagerContainer.CfgMgr:GetLevelDataById(val)
  31. if not levelData then
  32. return false, val, ''
  33. end
  34. local mapdata = ManagerContainer.CfgMgr:GetMapData(levelData.MapId)
  35. local content = I18N.SetLanguageValue("FunUnLock11", I18N.T(mapdata.Name)..' '..levelData.LevelId)
  36. local uniId = ManagerContainer.LuaBattleMgr:GetCurSimpleLvID()--GetCurLevelUniqueId()
  37. --LogError("==========targetLv========"..val.."=============CurLv===="..uniId.."==="..content)
  38. return uniId >= val, val, content
  39. end
  40. JudgeFun[37] = function(condition)
  41. local val = condition[2]
  42. val = val + 1
  43. local climbingData = ManagerContainer.CfgMgr:GetClimbingTowerCfgById(val)
  44. local p2 = I18N.SetLanguageValue('TopTowerLevel',climbingData.Id) .. ' '
  45. local content = I18N.SetLanguageValue("FunUnLock37", p2)
  46. local climbingTowerLv = ManagerContainer.DataMgr.TowerDataMgr:GetCurChallengeLevel()
  47. return climbingTowerLv >= val, val, content
  48. end
  49. JudgeFun[1000] = function(condition)
  50. local val = condition[2]
  51. local vipLv = ManagerContainer.DataMgr.UserData:GetVipLv()
  52. local vipCfgData = ManagerContainer.CfgMgr:GetVipCfgById(val)
  53. if vipCfgData then
  54. local content = I18N.SetLanguageValue("FunUnLock1000", I18N.T(vipCfgData.Name))
  55. return vipLv >= val, val, content
  56. else
  57. return false, 0, ''
  58. end
  59. end
  60. JudgeFun[1001] = function(condition)
  61. local val = condition[2]
  62. if not Constant.OpenPay then
  63. if val == 0 then
  64. return false, val, ''
  65. else
  66. return true, val, ''
  67. end
  68. end
  69. return true, val, ''
  70. end
  71. JudgeFun[1002] = function(condition)
  72. local val = condition[2]
  73. if Constant.OpenPay then
  74. local curVal = ManagerContainer.PayMgr:GetTotalRecharge()
  75. return curVal >= val, val, ''
  76. end
  77. return false, val, ''
  78. end
  79. return ConditionJudge