ConditionJudge.lua 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  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 content = I18N.SetLanguageValue("FunUnLock11", I18N.T(levelData.Name))
  35. local uniId = ManagerContainer.LuaBattleMgr:GetCurSimpleLvID()--GetCurLevelUniqueId()
  36. --LogError("==========targetLv========"..val.."=============CurLv===="..uniId.."==="..content)
  37. return uniId >= val, val, content
  38. end
  39. JudgeFun[37] = function(condition)
  40. local val = condition[2]
  41. val = val + 1
  42. local climbingData = ManagerContainer.CfgMgr:GetClimbingTowerCfgById(val)
  43. local content = I18N.SetLanguageValue("FunUnLock37", I18N.T(climbingData.Desc))
  44. local climbingTowerLv = ManagerContainer.DataMgr.TowerDataMgr:GetCurChallengeLevel()
  45. return climbingTowerLv >= val, val, content
  46. end
  47. JudgeFun[1000] = function(condition)
  48. local val = condition[2]
  49. local vipLv = ManagerContainer.DataMgr.UserData:GetVipLv()
  50. local vipCfgData = ManagerContainer.CfgMgr:GetVipCfgById(val)
  51. if vipCfgData then
  52. local content = I18N.SetLanguageValue("FunUnLock1000", I18N.T(vipCfgData.Name))
  53. return vipLv >= val, val, content
  54. else
  55. return false, 0, ''
  56. end
  57. end
  58. JudgeFun[1001] = function(condition)
  59. local val = condition[2]
  60. if not Constant.OpenPay then
  61. if val == 0 then
  62. return false, val, ''
  63. else
  64. return true, val, ''
  65. end
  66. end
  67. return true, val, ''
  68. end
  69. JudgeFun[1002] = function(condition)
  70. local val = condition[2]
  71. if Constant.OpenPay then
  72. local curVal = ManagerContainer.PayMgr:GetTotalRecharge()
  73. return curVal >= val, val, ''
  74. end
  75. return false, val, ''
  76. end
  77. return ConditionJudge