Hi,
kann mir jemand helfen? Ich komme mit dem neuen Weltkarten-Interface nicht klar. Hab bei anderen Addons versucht zu begreifen, wie es gehen müsste, aber es wird nix angezeigt. Ich hab mal ein möglichst kurzes Addon versucht, das einfach ein Pin in der Mitte der Karte anzeigen soll (nur zur Funktionsklärung) läuft auch ohne Fehler, zeigt aber nix (und ja, ein unknown.tga gibt’s im Verzeichnis WorldmapSample).
Hat jemand ne schlaue Idee, was ich falsch mache?
WorldmapSample.toc:
## Interface: 11302
## Title-deDE: Worldmap Sample
## Title-enGB: Worldmap Sample
## Author: Volkmar (Zifnab)
WorldmapSample.xml
WorldmapSample.xml
<Ui xmlns="http://www.blizzard.com/wow/ui/">
<Script file="WorldmapSample.lua"/>
<Frame name="WorldmapSamplePinTemplate" hidden="false" enableMouse="true" mixin="WorldmapSamplePinMixin" virtual="true">
<Size x="12" y="12"/>
<Layers><Layer level="OVERLAY"><Texture parentKey="texture" setAllPoints="true"></Texture></Layer></Layers>
</Frame>
</Ui>
WorldmapSample.lua
local Me=CreateFrame("Frame","WorldmapSampleFrame")
local pins={}
Me.WorldMapDataProvider = CreateFromMixins(MapCanvasDataProviderMixin)
WorldmapSamplePinMixin = CreateFromMixins(MapCanvasPinMixin)
WorldMapFrame:AddDataProvider(Me.WorldMapDataProvider)
print("WorldmapSample loaded")
-- WORLDMAP REMOVE DATA
function Me.WorldMapDataProvider:RemoveAllData()
self:GetMap():RemoveAllPinsByTemplate("WorldmapSamplePinTemplate")
wipe(pins)
end
-- WORLDMAP REFRESH DATA
function Me.WorldMapDataProvider:RefreshAllData()
self:RemoveAllData()
local mapid = self:GetMap():GetMapID()
if mapid then
print("adding pin to map "..mapid)
local pin = self:GetMap():AcquirePin("WorldmapSamplePinTemplate", 50,50)
table.insert(pins, pin)
end
end
-- WORLDMAP PIN MIXIN : ON LOAD
function WorldmapSamplePinMixin:OnLoad()
self:UseFrameLevelType("PIN_FRAME_LEVEL_AREA_POI")
self:SetScalingLimits(1, 1.0, 1.2)
end
-- WORLDMAP PIN MIXIN : ON ACQUIRED
function WorldmapSamplePinMixin:OnAcquired(x,y)
self:SetPosition(x, y)
self:SetBackdrop(nil)
self.texture:SetTexture("Interface/AddOns/WorldmapSample/unknown.tga")
self:SetSize(12,12)
self.texture:SetTexCoord(0, 1, 0, 1)
self.texture:SetVertexColor(1, 1, 1, 1)
self:EnableMouse(true)
self:Show()
print("added pin at "..x.."/"..y)
end
-- WORLDMAP PIN MIXIN : ON MOUSE EVENTS
function WorldmapSamplePinMixin:OnMouseEnter() print("Mouse Enter") end
function WorldmapSamplePinMixin:OnMouseLeave() print("Mouse Leave") end
function WorldmapSamplePinMixin:OnClick(button) print("Mouse Click") end