View Single Post
02-01-18, 04:49 AM   #20
Rilgamon
Premium Member
 
Rilgamon's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Sep 2009
Posts: 822
I wrote two test-addons and both work as they should. The first without AceAddon and the second with.

Lua Code:
  1. ## Interface: 70300
  2. ## Title: Example_AceDB_01
  3. ## SavedVariables: Example_AceDB_01DB
  4.  
  5. AceDB-3.0/AceDB-3.0.xml
  6. Example_AceDB_01.lua

Lua Code:
  1. local addonName, addonTable = ...
  2. local defaults = {
  3.     profile = {
  4.         loaded = addonName,
  5.         open = false
  6.     }
  7. }
  8. local f = CreateFrame("FRAME")
  9. local function handleEvent(self, event)
  10.     if(event == "ADDON_LOADED") then
  11.         if(arg1 ~= childName) then return end
  12.         addonTable['db'] = addonTable['db'] or LibStub("AceDB-3.0"):New(addonName.."DB", defaults, true)
  13.         self:UnregisterEvent("ADDON_LOADED")
  14.         self:RegisterEvent("MAIL_SHOW")
  15.         self:RegisterEvent("MERCHANT_SHOW")
  16.     elseif(event == "MERCHANT_SHOW") then
  17.         addonTable['db']['profile']['open'] = false
  18.     elseif(event == "MAIL_SHOW") then
  19.         addonTable['db']['profile']['open'] = true
  20.     end
  21. end
  22. f:RegisterEvent("ADDON_LOADED")
  23. f:SetScript("OnEvent", handleEvent)

Lua Code:
  1. ## Interface: 70300
  2. ## Title: Example_AceDB_02
  3. ## SavedVariables: Example_AceDB_02DB
  4. AceAddon-3.0/AceAddon-3.0.xml
  5. AceDB-3.0/AceDB-3.0.xml
  6. Example_AceDB_02.lua

Lua Code:
  1. local addonName, addonTable = ...
  2. local defaults = {
  3.     profile = {
  4.         loaded = addonName,
  5.         open = false
  6.     }
  7. }
  8. local AceDBExample = LibStub("AceAddon-3.0"):NewAddon(addonName)
  9. local function handleEvent(self, event)
  10.     if(event == "MERCHANT_SHOW") then
  11.         addonTable['db']['profile']['open'] = false
  12.     elseif(event == "MAIL_SHOW") then
  13.         addonTable['db']['profile']['open'] = true
  14.     end
  15. end
  16. function AceDBExample:OnInitialize()
  17.     addonTable['db'] = addonTable['db'] or LibStub("AceDB-3.0"):New(addonName.."DB", defaults, true)
  18.     local f = CreateFrame("FRAME")
  19.     f:RegisterEvent("MAIL_SHOW")
  20.     f:RegisterEvent("MERCHANT_SHOW")
  21.     f:SetScript("OnEvent", handleEvent)
  22. end

You can find them in the WoWI-SVN
__________________
The cataclysm broke the world ... and the pandas could not fix it!
  Reply With Quote