a4blank@8: a4blank@8: a4blank@8: RTT = LibStub("AceAddon-3.0"):NewAddon("RaidTargetTactics", "AceConsole-3.0") a4blank@8: local L = LibStub("AceLocale-3.0"):GetLocale("RaidTargetTactics") a4blank@8: a4blank@8: a4blank@8: local LDB = LibStub("LibDataBroker-1.1", true) a4blank@8: local LDBIcon = LibStub("LibDBIcon-1.0", true) a4blank@8: a4blank@8: local RTTIcon = LibStub("LibDataBroker-1.1"):NewDataObject("RTTIcon", { a4blank@8: type = "data source", a4blank@8: text = "Raid Target Tactics", a4blank@8: icon = "Interface\\TARGETINGFRAME\\UI-RaidTargetingIcon_8", a4blank@8: OnClick = function() RTT:OnIconClick() end, a4blank@8: OnTooltipShow = function(tooltip) a4blank@8: tooltip:AddLine("Raid Target Tactics") a4blank@8: tooltip:AddLine(L.Minimap_Icon_Tooltip) a4blank@8: end, a4blank@8: }) a4blank@8: a4blank@8: local defaults = { a4blank@8: profile = { a4blank@8: visible = true, a4blank@8: minimap = { a4blank@8: hide = false, a4blank@8: }, a4blank@8: }, a4blank@8: } a4blank@8: a4blank@8: function RTT:OnInitialize() a4blank@8: self.db = LibStub("AceDB-3.0"):New("TacticsSettings", defaults, true) a4blank@8: a4blank@8: LDBIcon:Register("RTTIcon", RTTIcon, self.db.profile.minimap) a4blank@8: self:InitFrame() a4blank@8: if self.f:IsShown() != self.db.profile.visible then a4blank@8: if self.db.profile.visible then a4blank@8: self:ShowFrame() a4blank@8: else a4blank@8: self:HideFrame() a4blank@8: end a4blank@8: end a4blank@8: end a4blank@8: a4blank@8: function RTT:InitFrame() a4blank@8: self.f = CreateFrame("Frame", nil, UIParent) a4blank@8: self.f:SetWidth(100) a4blank@8: self.f:SetHeight(200) a4blank@8: self.f:SetPoint("LEFT", UIParent, "LEFT", 10, 0) a4blank@8: end a4blank@8: a4blank@8: function RTT:OnIconClick() a4blank@8: if self.db.profile.visible then a4blank@8: self:HideFrame() a4blank@8: else a4blank@8: self:ShowFrame() a4blank@8: end a4blank@8: self.db.profile.visible = !self.db.profile.visible a4blank@8: end a4blank@8: a4blank@8: function RTT:HideFrame() a4blank@8: self.f:Hide() a4blank@8: end a4blank@8: a4blank@8: function RTT:ShowFrame() a4blank@8: self.f:Show() a4blank@8: end a4blank@8: a4blank@8: a4blank@8: a4blank@8: