Mercurial > wow > ouroloot
comparison core.lua @ 118:ec5174529e0f
Make more use of g_loot.raiders in the GUI rather than calling GRRI each time.
| author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
|---|---|
| date | Thu, 16 Aug 2012 23:04:29 -0400 |
| parents | fc2ff128835a |
| children | fb4bda3ad05c |
comparison
equal
deleted
inserted
replaced
| 117:dbdab3780757 | 118:ec5174529e0f |
|---|---|
| 2171 -- conditionals). | 2171 -- conditionals). |
| 2172 function addon:filtered_loot_iter (filter_kind) | 2172 function addon:filtered_loot_iter (filter_kind) |
| 2173 return self._find_next_after, filter_kind, 0 | 2173 return self._find_next_after, filter_kind, 0 |
| 2174 end | 2174 end |
| 2175 | 2175 |
| 2176 -- Iterate through g_loot.raiders in sorted (alphabetical/collated) order. If | |
| 2177 -- USE_FULLNAME then the realmname is appended. If ONLINE_FILTER is present, | |
| 2178 -- then only raider entries with a matching 'online' key are included. Loop | |
| 2179 -- variables are a running count, the raider name, and the corresponding entry | |
| 2180 -- from g_loot.raiders. | |
| 2181 do | |
| 2182 local function nextr (list, index) | |
| 2183 index = index + 1 | |
| 2184 local name = list[index] | |
| 2185 if not name then | |
| 2186 flib.del(list) | |
| 2187 return nil | |
| 2188 end | |
| 2189 return index, name, list.__safety[name] | |
| 2190 end | |
| 2191 | |
| 2192 function addon:sorted_raiders_iter (use_fullname_p, opt_online_filter) | |
| 2193 local t = flib.new() | |
| 2194 for name,info in next, g_loot.raiders do | |
| 2195 if (not opt_online_filter) or (info.online == opt_online_filter) then | |
| 2196 -- this is not exactly "A?B:C" semantics, but it is exactly | |
| 2197 -- the behavior we want when fname is not present | |
| 2198 tinsert (t, use_fullname_p and info.fname or name) | |
| 2199 end | |
| 2200 end | |
| 2201 table.sort(t) | |
| 2202 t.__safety = g_loot.raiders | |
| 2203 return nextr, t, 0 | |
| 2204 end | |
| 2205 end | |
| 2206 | |
| 2176 do | 2207 do |
| 2177 local itt | 2208 local itt |
| 2178 local function create() | 2209 local function create() |
| 2179 local tip, lefts = CreateFrame("GameTooltip"), {} | 2210 local tip, lefts = CreateFrame("GameTooltip"), {} |
| 2180 for i = 1, 2 do -- scanning idea here also snagged from Talented | 2211 for i = 1, 2 do -- scanning idea here also snagged from Talented |
| 2243 self:zero_printed_fenceposts(0) -- g_loot.printed.* = 0 | 2274 self:zero_printed_fenceposts(0) -- g_loot.printed.* = 0 |
| 2244 end | 2275 end |
| 2245 if possible_st then | 2276 if possible_st then |
| 2246 possible_st:SetData(g_loot_wrapper) | 2277 possible_st:SetData(g_loot_wrapper) |
| 2247 end | 2278 end |
| 2279 -- Make sure we have a current .raiders array, since other dropdowns and | |
| 2280 -- whatnot depend on that information. | |
| 2281 self:CheckRoster() | |
| 2248 | 2282 |
| 2249 self.status_text = ("%s(r%s) communicating as ident %s commrev %s"): | 2283 self.status_text = ("%s(r%s) communicating as ident %s commrev %s"): |
| 2250 format (self.version, self.revision, self.ident, self.commrev) | 2284 format (self.version, self.revision, self.ident, self.commrev) |
| 2251 self:RegisterComm(self.ident) | 2285 self:RegisterComm(self.ident) |
| 2252 self:RegisterComm(self.identTg, "OnCommReceivedNocache") | 2286 self:RegisterComm(self.identTg, "OnCommReceivedNocache") |
