源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

50 行
767 B

  1. local Layer = Layer
  2. local rawget = rawget
  3. local setmetatable = setmetatable
  4. local LayerMask = {}
  5. LayerMask.__index = function(t,k)
  6. return rawget(LayerMask, k)
  7. end
  8. LayerMask.__call = function(t,v)
  9. return LayerMask.New(v)
  10. end
  11. function LayerMask.New(value)
  12. local layer = {value = value or 0}
  13. setmetatable(layer, LayerMask)
  14. return layer
  15. end
  16. function LayerMask:Get()
  17. return self.value
  18. end
  19. function LayerMask.NameToLayer(name)
  20. return Layer[name]
  21. end
  22. function LayerMask.GetMask(...)
  23. local arg = {...}
  24. local value = 0
  25. for i = 1, #arg do
  26. local n = LayerMask.NameToLayer(arg[i])
  27. if n ~= 0 then
  28. value = value + 2 ^ n
  29. end
  30. end
  31. return value
  32. end
  33. UnityEngine.LayerMask = LayerMask
  34. setmetatable(LayerMask, LayerMask)
  35. return LayerMask