Advertisement
Guest User

Buffs.lua

a guest
Apr 27th, 2014
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.49 KB | None | 0 0
  1. local MODULE_NAME = "Buffs"
  2. local ADDON_NAME = LibStub("AceAddon-3.0"):GetAddon("BasicUI")
  3. local MODULE = ADDON_NAME:NewModule(MODULE_NAME, "AceEvent-3.0")
  4. local L = setmetatable({}, { __index = function(t,k)
  5. local v = tostring(k)
  6. rawset(t, k, v)
  7. return v
  8. end })
  9.  
  10. ------------------------------------------------------------------------
  11. -- Module Database
  12. ------------------------------------------------------------------------
  13.  
  14. local db
  15. local defaults = {
  16. profile = {
  17. enable = true,
  18. scale = 1.19,
  19. }
  20. }
  21.  
  22. ------------------------------------------------------------------------
  23. -- Module Functions
  24. ------------------------------------------------------------------------
  25.  
  26. function MODULE:OnInitialize()
  27. self.db = ADDON_NAME.db:RegisterNamespace(MODULE_NAME, defaults)
  28. db = self.db.profile
  29.  
  30. self:SetEnabledState(ADDON_NAME:GetModuleEnabled(MODULE_NAME))
  31. end
  32.  
  33. function MODULE:OnEnable()
  34. -- set up stuff here
  35. db = self.db.profile
  36.  
  37. BuffFrame:ClearAllPoints()
  38. BuffFrame:SetPoint('TOPRIGHT', Minimap, 'TOPLEFT', -25, 0)
  39. BuffFrame:SetScale(db.scale)
  40. end
  41.  
  42. -- Leave this out if the module doesn't have any settings:
  43. function MODULE:Refresh()
  44. db = self.db.profile -- update the upvalue
  45.  
  46. -- change stuff here
  47. BuffFrame:SetScale(db.scale)
  48. end
  49.  
  50. ------------------------------------------------------------------------
  51. -- Module Options
  52. ------------------------------------------------------------------------
  53.  
  54. -- Leave this out if the module doesn't have any options:
  55. local options
  56. function MODULE:GetOptions()
  57.  
  58. if options then
  59. return options
  60. end
  61.  
  62. local function isModuleDisabled()
  63. return not ADDON_NAME:GetModuleEnabled(MODULE_NAME)
  64. end
  65.  
  66. options = {
  67. type = "group",
  68. name = L[MODULE_NAME],
  69. desc = L["Buff Module for BasicUI."],
  70. get = function(info) return db[ info[#info] ] end,
  71. set = function(info, value) db[ info[#info] ] = value end,
  72. disabled = isModuleDisabled(),
  73. args = {
  74. enable = {
  75. type = "toggle",
  76. order = 1,
  77. name = L["Enable"],
  78. desc = L["Enables Buff Module."],
  79. width = "full",
  80. disabled = false,
  81. },
  82. scale = {
  83. type = "range",
  84. order = -1,
  85. name = L["Buff Scale"],
  86. --desc = L["Controls the scaling of the Buff Frames"],
  87. min = 0.05, max = 5, step = 0.05,
  88. disabled = function() return isModuleDisabled() or not db.enable end,
  89. set = function(info, value)
  90. db[ info[#info] ] = value
  91. MODULE:Refresh()
  92. end,
  93. },
  94. }
  95. }
  96. return options
  97. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement