TimeCondition.lua 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. ---@class TimeCondition
  2. TimeCondition = class(ConditionBase)
  3. TimeCondition.comparatorMap = {
  4. [0] = function(self)
  5. if not self.param then
  6. return false
  7. end
  8. return SL:GetOpenServerDay() > tonumber(self.param)
  9. end,
  10. [1] = function(self)
  11. if not self.param then
  12. return false
  13. end
  14. return SL:GetOpenServerDay() >= tonumber(self.param)
  15. end,
  16. [2] = function(self)
  17. if not self.param then
  18. return false
  19. end
  20. return SL:GetOpenServerDay() == tonumber(self.param)
  21. end,
  22. [3] = function(self)
  23. if not self.param then
  24. return false
  25. end
  26. return SL:GetOpenServerDay() <= tonumber(self.param)
  27. end,
  28. [4] = function(self)
  29. if not self.param then
  30. return false
  31. end
  32. return SL:GetOpenServerDay() < tonumber(self.param)
  33. end,
  34. [5] = function(self)
  35. if not self.param then
  36. return false
  37. end
  38. return SL:GetOpenServerDay() ~= tonumber(self.param)
  39. end,
  40. [71] = function(self)
  41. --判断是否在日期区间内
  42. if string.isNullOrEmpty(self.param) then
  43. return false
  44. end
  45. return InfoManager.mainOperateActivityInfo:IntervalTweenyearTime(self.param)
  46. end,
  47. [91] = function(self)
  48. --判断今天是否是周几 910
  49. if not self.param then
  50. return false
  51. end
  52. return InfoManager.mainOperateActivityInfo:WhatDayIsTodayInWeek() == tonumber(self.param)
  53. end,
  54. ---运营活动 持续天数
  55. [80] = function(self)
  56. if not string.isNullOrEmpty(self.param) then
  57. local content = string.split(self.param,"#")
  58. if InfoManager.mainOperateActivityInfo.NowOperateActivityMainGroup == tonumber(content[1]) then
  59. return InfoManager.mainOperateActivityInfo:GetDurationDayMainGroup() <= tonumber(content[2])
  60. end
  61. end
  62. return false
  63. end,
  64. [81] = function(self)
  65. if not string.isNullOrEmpty(self.param) then
  66. local content = string.split(self.param,"#")
  67. if InfoManager.mainOperateActivityInfo.NowOperateActivityMainGroup == content[1] then
  68. return InfoManager.mainOperateActivityInfo:JudgeThisSubtypeActivityIsOpen(content[2]) and
  69. InfoManager.mainOperateActivityInfo:GetDurationDaySubType(content[2]) <= content[3]
  70. end
  71. end
  72. return false
  73. end,
  74. }
  75. function TimeCondition:InitParam(param)
  76. self.param = param
  77. end