ConditionBase.lua 834 B

123456789101112131415161718192021222324252627282930313233
  1. ---@class ConditionBase
  2. ConditionBase = class()
  3. ConditionBase.comparatorMap = {}
  4. function ConditionBase:ctor(compareType,param)
  5. self.compareType = compareType
  6. self.comparator = self:GetComparator(compareType)
  7. self:InitParam(param)
  8. end
  9. function ConditionBase:InitParam(param)
  10. self.param = param
  11. end
  12. function ConditionBase:GetComparator(compareType)
  13. assert(self.comparatorMap[compareType],string.format('%d%s未定义',self.type,compareType))
  14. return self.comparatorMap[compareType]
  15. end
  16. function ConditionBase:Check()
  17. return self:comparator()
  18. end
  19. function ConditionBase:ReSet(compareType,param)
  20. self.compareType = compareType
  21. self.comparator = self:GetComparator(compareType)
  22. self:InitParam(param)
  23. end
  24. function ConditionBase:ConditionType()
  25. return self.type * 100 + self.compareType
  26. end