Mercurial > wow > libmoduledbshare-1-0
comparison LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua @ 30:5c7143d32287
So? public APIs didn't work so well? back to data.
| author | Andrew Knoll <andrewtknoll@gmail.com> |
|---|---|
| date | Mon, 18 Mar 2013 00:48:54 -0400 |
| parents | d8dd617017de |
| children | ff0e10fd2a5f |
comparison
equal
deleted
inserted
replaced
| 29:d8dd617017de | 30:5c7143d32287 |
|---|---|
| 10 | 10 |
| 11 if not LibModuleDBShare then return end -- No upgrade needed | 11 if not LibModuleDBShare then return end -- No upgrade needed |
| 12 | 12 |
| 13 -- Lua functions | 13 -- Lua functions |
| 14 local error, type, pairs, time = error, type, pairs, time; | 14 local error, type, pairs, time = error, type, pairs, time; |
| 15 | |
| 16 -- Blizzard functions | |
| 17 local GetActiveSpecGroup = GetActiveSpecGroup; | |
| 18 | 15 |
| 19 -- Required Libraries | 16 -- Required Libraries |
| 20 local AceDB = LibStub("AceDB-3.0"); | 17 local AceDB = LibStub("AceDB-3.0"); |
| 21 local AceDBOptions = LibStub("AceDBOptions-3.0"); | 18 local AceDBOptions = LibStub("AceDBOptions-3.0"); |
| 22 local AceConfigRegistry = LibStub("AceConfigRegistry-3.0"); | 19 local AceConfigRegistry = LibStub("AceConfigRegistry-3.0"); |
| 94 group.profileTimestamp = storedData.logoutTimestamp; | 91 group.profileTimestamp = storedData.logoutTimestamp; |
| 95 else | 92 else |
| 96 group.profileTimestamp = 0; | 93 group.profileTimestamp = 0; |
| 97 end | 94 end |
| 98 if usesDualSpec and storedData.altProfile then | 95 if usesDualSpec and storedData.altProfile then |
| 99 group.syncDB:SetDualSpecProfile(storedData.altProfile); | 96 namespace = group.syncDB:GetNamespace("LibDualSpec-1.0"); |
| 100 group.syncDB:SetDualSpecEnabled(storedData.dualSpecEnabled); | 97 namespace.char.enabled = storedData.dualSpecEnabled; |
| 101 if storedData.dualSpecEnabled and storedData.activeSpecGroup ~= GetActiveSpecGroup() then | 98 namespace.char.profile = storedData.altProfile; |
| 102 group.syncDB:SetDualSpecProfile(group.syncDB:GetCurrentProfile()); | 99 namespace.char.specGroup = storedData.activeSpecGroup; |
| 103 group.syncDB:SetProfile(storedData.altProfile); | 100 group.syncDB:CheckDualSpecState(); |
| 104 initialDB:SetProfile(storedData.altProfile); | |
| 105 end | |
| 106 end | 101 end |
| 107 -- add methods and callbacks | 102 -- add methods and callbacks |
| 108 for k, v in pairs(DBGroup) do | 103 for k, v in pairs(DBGroup) do |
| 109 group[k] = v; | 104 group[k] = v; |
| 110 end | 105 end |
| 154 local storedData = namespace.char; | 149 local storedData = namespace.char; |
| 155 if type(storedData.logoutTimestamp) == "number" and storedData.logoutTimestamp > self.profileTimestamp then | 150 if type(storedData.logoutTimestamp) == "number" and storedData.logoutTimestamp > self.profileTimestamp then |
| 156 self.squelchCallbacks = false; | 151 self.squelchCallbacks = false; |
| 157 self.syncDB:SetProfile(newDB:GetCurrentProfile()); | 152 self.syncDB:SetProfile(newDB:GetCurrentProfile()); |
| 158 self.profileTimestamp = storedData.logoutTimestamp; | 153 self.profileTimestamp = storedData.logoutTimestamp; |
| 159 if self.usesDualSpec and storedData.altProfile then | 154 if usesDualSpec and storedData.altProfile then |
| 160 self.syncDB:SetDualSpecProfile(storedData.altProfile); | 155 namespace = group.syncDB:GetNamespace("LibDualSpec-1.0"); |
| 161 self.syncDB:SetDualSpecEnabled(storedData.dualSpecEnabled); | 156 namespace.char.enabled = storedData.dualSpecEnabled; |
| 162 if storedData.dualSpecEnabled and storedData.activeSpecGroup ~= GetActiveSpecGroup() then | 157 namespace.char.profile = storedData.altProfile; |
| 163 self.syncDB:SetDualSpecProfile(self.syncDB:GetCurrentProfile()); | 158 namespace.char.specGroup = storedData.activeSpecGroup; |
| 164 self.syncDB:SetProfile(storedData.altProfile); | 159 group.syncDB:CheckDualSpecState(); |
| 165 newDB:SetProfile(storedData.altProfile); | |
| 166 end | |
| 167 end | 160 end |
| 168 else | 161 else |
| 169 self.syncDB:SetProfile(syncProfile); | 162 self.syncDB:SetProfile(syncProfile); |
| 170 newDB:SetProfile(syncProfile); | 163 newDB:SetProfile(syncProfile); |
| 171 self.squelchCallbacks = false; | 164 self.squelchCallbacks = false; |
