diff Looting.lua @ 73:7eb2963eea7d

Further splitting up GUI and State Starting to integrate looting events
author John@Yosemite-PC
date Sun, 08 Apr 2012 22:13:17 -0400
parents
children 39be9328acd0
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Looting.lua	Sun Apr 08 22:13:17 2012 -0400
@@ -0,0 +1,69 @@
+local bsk=bsk
+local _G=_G
+local table=table 
+local pairs=pairs
+local setmetatable=setmetatable
+local ipairs=ipairs
+local string=string
+local sformat=string.format
+local tostring=tostring
+local type=type
+local getn=getn
+
+local event = LibStub("AceEvent-3.0")
+
+setfenv(1,bsk)
+
+local isMasterLootEvent = false
+
+local function OpenMasterLootList()
+    print("Open!")
+    isMasterLootEvent = true
+end
+
+local function UpdateMasterLootList()
+    print("Update MLL!")
+end
+
+local function LootClosed()
+    print("Close!")
+    if isMasterLootEvent then
+        isMasterLootEvent = false -- end the event
+        InitiateCloseLooting()
+    end
+end
+
+local function LootOpened()
+    print("Open loot!")
+    isMasterLootEvent = false
+    local n = _G.GetNumLootItems()
+    for i = 1,n do
+        _G.LootSlot(i)
+    end
+    local items = {}
+    for i = 1,n do
+        local link = _G.GetLootSlotLink(i)
+        if link then
+            table.insert(items,link)
+            print("Item: ", link)
+        end
+    end
+    if not isMasterLootEvent then return end
+
+    print("Let's get started SKing")
+    -- todo: check that I am ML and that I'm an admin!
+
+    -- make state: gather all item links, transmit them plus the new looting
+    -- state
+    --
+    InitiateBeginLoot(items,stateactivelist)
+
+end
+
+function InitializeLooting()
+    event:RegisterEvent("OPEN_MASTER_LOOT_LIST",OpenMasterLootList)
+    event:RegisterEvent("UPDATE_MASTER_LOOT_LIST",UpdateMasterLootList)
+    event:RegisterEvent("LOOT_CLOSED",LootClosed)
+    event:RegisterEvent("LOOT_OPENED",LootOpened)
+end
+