Mercurial > wow > cyborg-mmo7
comparison CallbackFactory.lua @ 4:d186f8cd5000
Renamed functions to avoid conflicts
| author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
|---|---|
| date | Mon, 28 May 2012 15:54:52 +0000 |
| parents | bf9220814fb5 |
| children | 6cb9a2936580 |
comparison
equal
deleted
inserted
replaced
| 3:461854a2849c | 4:d186f8cd5000 |
|---|---|
| 16 | 16 |
| 17 --~ You should have received a copy of the GNU General Public License | 17 --~ You should have received a copy of the GNU General Public License |
| 18 --~ along with this program; if not, write to the Free Software | 18 --~ along with this program; if not, write to the Free Software |
| 19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| 20 | 20 |
| 21 CallbackFactory = { | 21 CyborgMMO_CallbackFactory = { |
| 22 new = function() | 22 new = function() |
| 23 local self = {} | 23 local self = {} |
| 24 self.Frame = CreateFrame("Frame","CallbackFactoryFrame", UIParent); | 24 self.Frame = CreateFrame("Frame","CallbackFactoryFrame", UIParent); |
| 25 self.Callbacks = {} | 25 self.Callbacks = {} |
| 26 self.Id = 1; | 26 self.Id = 1; |
| 34 end | 34 end |
| 35 | 35 |
| 36 self.RemoveCallback = function(name) | 36 self.RemoveCallback = function(name) |
| 37 self.Callbacks[name] = nil | 37 self.Callbacks[name] = nil |
| 38 end | 38 end |
| 39 | |
| 40 self.GetCallback = function(callbackName) | |
| 41 local callback = nil | |
| 42 if("Map" == callbackName) then | |
| 43 callback = self.ToggleMap; | |
| 44 elseif("CharacterPage" == callbackName) then | |
| 45 callback = self.ToggleCharacterPage; | |
| 46 elseif("Spellbook" == callbackName) then | |
| 47 callback = self.ToggleSpellbook; | |
| 48 elseif("Macros" == callbackName) then | |
| 49 callback = self.ToggleMacros; | |
| 50 elseif("QuestLog" == callbackName) then | |
| 51 callback = self.ToggleQuests; | |
| 52 elseif("Achievement" == callbackName) then | |
| 53 callback = self.ToggleAchievements; | |
| 54 elseif("Inventory" == callbackName) then | |
| 55 callback = self.ToggleBags; | |
| 56 end; | |
| 57 return callback; | |
| 58 end | |
| 39 | 59 |
| 60 | |
| 61 self.ToggleMap = function() | |
| 62 ToggleFrame(WorldMapFrame) | |
| 63 end | |
| 64 | |
| 65 self.ToggleCharacterPage = function() | |
| 66 ToggleCharacter("PaperDollFrame") | |
| 67 end | |
| 68 | |
| 69 self.ToggleSpellbook = function() | |
| 70 ToggleFrame(SpellBookFrame) | |
| 71 if(SpellBookFrame:IsShown()) then | |
| 72 SpellbookMicroButton:SetButtonState("PUSHED", 1); | |
| 73 else | |
| 74 SpellbookMicroButton:SetButtonState("NORMAL"); | |
| 75 end | |
| 76 end | |
| 77 | |
| 78 self.ToggleMacros = function() | |
| 79 if(MacroFrame:IsShown() and MacroFrame:IsVisible()) then | |
| 80 HideUIPanel(MacroFrame); | |
| 81 else | |
| 82 ShowMacroFrame(); | |
| 83 end | |
| 84 end | |
| 85 | |
| 86 self.ToggleQuests = function() | |
| 87 ToggleFrame(QuestLogFrame); | |
| 88 if ( QuestLogFrame:IsShown() ) then | |
| 89 QuestLogMicroButton:SetButtonState("PUSHED", 1); | |
| 90 else | |
| 91 QuestLogMicroButton:SetButtonState("NORMAL"); | |
| 92 end | |
| 93 end | |
| 94 | |
| 95 self.ToggleAchievements = function() | |
| 96 ToggleAchievementFrame(); | |
| 97 if ( AchievementFrame and AchievementFrame:IsShown() ) then | |
| 98 AchievementMicroButton:SetButtonState("PUSHED", 1); | |
| 99 else | |
| 100 if ( ( HasCompletedAnyAchievement() or IsInGuild() ) and CanShowAchievementUI() ) then | |
| 101 AchievementMicroButton:Enable(); | |
| 102 AchievementMicroButton:SetButtonState("NORMAL"); | |
| 103 else | |
| 104 AchievementMicroButton:Disable(); | |
| 105 end | |
| 106 end | |
| 107 end | |
| 108 | |
| 109 self.ToggleBags = function() | |
| 110 ToggleAllBags(); | |
| 111 end | |
| 40 return self; | 112 return self; |
| 41 end, | 113 end, |
| 42 | 114 |
| 43 m_Instance = nil, | 115 m_Instance = nil, |
| 44 | 116 |
| 45 Instance = function() | 117 Instance = function() |
| 46 if(nil == CallbackFactory.m_Instance) then | 118 if(nil == CyborgMMO_CallbackFactory.m_Instance) then |
| 47 CallbackFactory.m_Instance = CallbackFactory.new(); | 119 CyborgMMO_CallbackFactory.m_Instance = CyborgMMO_CallbackFactory.new(); |
| 48 end | 120 end |
| 49 return CallbackFactory.m_Instance; | 121 return CyborgMMO_CallbackFactory.m_Instance; |
| 50 end | 122 end |
| 123 | |
| 51 | 124 |
| 52 } | 125 } |
| 53 | 126 |
| 54 | 127 |
| 55 GetCallback = function(callbackName) | |
| 56 local callback = nil | |
| 57 if("Map" == callbackName) then | |
| 58 callback = ToggleMap; | |
| 59 elseif("CharacterPage" == callbackName) then | |
| 60 callback = ToggleCharacterPage; | |
| 61 elseif("Spellbook" == callbackName) then | |
| 62 callback = ToggleSpellbook; | |
| 63 elseif("Macros" == callbackName) then | |
| 64 callback = ToggleMacros; | |
| 65 elseif("QuestLog" == callbackName) then | |
| 66 callback = ToggleQuests; | |
| 67 elseif("Achievement" == callbackName) then | |
| 68 callback = ToggleAchievements; | |
| 69 elseif("Inventory" == callbackName) then | |
| 70 callback = ToggleBags; | |
| 71 end; | |
| 72 return callback; | |
| 73 end | |
| 74 | |
| 75 | |
| 76 ToggleMap = function() | |
| 77 ToggleFrame(WorldMapFrame) | |
| 78 end | |
| 79 | |
| 80 ToggleCharacterPage = function() | |
| 81 ToggleCharacter("PaperDollFrame") | |
| 82 end | |
| 83 | |
| 84 ToggleSpellbook = function() | |
| 85 ToggleFrame(SpellBookFrame) | |
| 86 if(SpellBookFrame:IsShown()) then | |
| 87 SpellbookMicroButton:SetButtonState("PUSHED", 1); | |
| 88 else | |
| 89 SpellbookMicroButton:SetButtonState("NORMAL"); | |
| 90 end | |
| 91 | |
| 92 end | |
| 93 | |
| 94 ToggleMacros = function() | |
| 95 if(MacroFrame:IsShown() and MacroFrame:IsVisible()) then | |
| 96 HideUIPanel(MacroFrame); | |
| 97 else | |
| 98 ShowMacroFrame(); | |
| 99 end | |
| 100 end | |
| 101 | |
| 102 ToggleQuests = function() | |
| 103 ToggleFrame(QuestLogFrame); | |
| 104 if ( QuestLogFrame:IsShown() ) then | |
| 105 QuestLogMicroButton:SetButtonState("PUSHED", 1); | |
| 106 else | |
| 107 QuestLogMicroButton:SetButtonState("NORMAL"); | |
| 108 end | |
| 109 end | |
| 110 | |
| 111 ToggleAchievements = function() | |
| 112 ToggleAchievementFrame(); | |
| 113 if ( AchievementFrame and AchievementFrame:IsShown() ) then | |
| 114 AchievementMicroButton:SetButtonState("PUSHED", 1); | |
| 115 else | |
| 116 if ( ( HasCompletedAnyAchievement() or IsInGuild() ) and CanShowAchievementUI() ) then | |
| 117 AchievementMicroButton:Enable(); | |
| 118 AchievementMicroButton:SetButtonState("NORMAL"); | |
| 119 else | |
| 120 AchievementMicroButton:Disable(); | |
| 121 end | |
| 122 end | |
| 123 end | |
| 124 | |
| 125 ToggleBags = function() | |
| 126 ToggleAllBags(); | |
| 127 end |
