diff PartyInfo.lua @ 11:d2cbfe498c4d

first beta
author Jay Bird <a4blank@yahoo.com>
date Sat, 04 Dec 2010 05:53:52 +0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PartyInfo.lua	Sat Dec 04 05:53:52 2010 +0300
@@ -0,0 +1,58 @@
+
+PartyInfo = class()
+
+function PartyInfo:init()
+    self.players = {}
+    self.have_party = false
+    self.is_in_raid = false
+    self.is_in_party = false
+end
+
+function PartyInfo:Update()
+    self.players = {}
+    self.raidCount = GetNumRaidMembers()
+    if self.raidCount == 0 then
+        self.is_in_raid = false
+    else
+        self.have_party = true
+        self.is_in_raid = true
+        self.is_in_party = false
+        self:LoadRaidMembers()
+        table.sort(self.players)
+        return
+    end
+
+    self.partyCount = GetNumPartyMembers()
+    if self.partyCount == 0 then
+        self.is_in_party = false
+    else
+        self.have_party = true
+        self.is_in_party = true
+        self:LoadPartyMembers()
+        table.sort(self.players)
+        return
+    end
+
+    self.have_party = false
+end
+
+function PartyInfo:LoadRaidMembers()
+    local name
+    for i=1, self.raidCount do
+        name = UnitName("raid" .. i)
+        table.insert(self.players, name)
+    end
+end
+
+function PartyInfo:LoadPartyMembers()
+    local name = UnitName("player")
+    table.insert(self.players, name)
+    for i=1, self.partyCount do
+        name = UnitName("party" .. i)
+        table.insert(self.players, name)
+    end
+end
+
+function PartyInfo:GetUsers()
+    return self.players
+end