Probleme mit Icons auf Worldmap/Zonemap

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

Hm, bevor ich das jetzt auseinandernehme … ist das wirklich dein gesamter aktueller Code? Oder sind das nur Teile und du hast was weggelassen oder gelöscht?

Ne, ne, das ist der gesamte Code. Wie gesagt… tut nix Sinnvolles. Ist nur, um zu verstehen, wie man Icons auf der Zonenkarte anzeigen kann. Deshalb tut der Code nix weiter als ein Icon unknown.tga in der Mitte der Karte (auf 50|50) anzuzeigen…
also… sollte es tun :frowning:
Er kommt auch an die Stelle mit dem AquirePin, wo er “added pin at 50/50” ausgibt.

ach… und btw…ich schreibe für Classic. Weiß grad nicht, ob das an dieser Stelle einen Unterschied macht.

Kennt ansonsten irgendjemand ein möglichst kleines, übersichtliches Addon (vom Code klein meine ich), das Icons auf der Zonenkarte anzeigt, an dem ich versuchen kann, selbst herauszufinden wie es geht?

Dieses Thema wurde automatisch 180 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Nachrichten mehr erlaubt.