Mercurial > wow > breuesk
comparison Lists.lua @ 20:3fedb912c088
Rename a list
author | John@Yosemite-PC |
---|---|
date | Fri, 09 Mar 2012 23:18:20 -0500 |
parents | cdca1f2ae605 |
children | ffcea2f51663 |
comparison
equal
deleted
inserted
replaced
19:cdca1f2ae605 | 20:3fedb912c088 |
---|---|
11 -- TODO: list trimming | 11 -- TODO: list trimming |
12 -- TODO: collapse slists into delimited strings for space | 12 -- TODO: collapse slists into delimited strings for space |
13 -- TODO: organize working state data a little more carefully - hard to keep | 13 -- TODO: organize working state data a little more carefully - hard to keep |
14 -- track of all the arrays that are floating out there | 14 -- track of all the arrays that are floating out there |
15 -- TODO: delete list | 15 -- TODO: delete list |
16 -- TODO: rename list | |
17 -- TODO: remove player from list | 16 -- TODO: remove player from list |
18 -- TODO: (meta) remove player from all lists | 17 -- TODO: (meta) remove player from all lists |
19 -- TODO: remove person (actually kinda tricky without casuality problems) | 18 -- TODO: remove person (actually kinda tricky without casuality problems) |
20 | 19 |
21 -- holy crap long notes {{{ | 20 -- holy crap long notes {{{ |
220 end | 219 end |
221 | 220 |
222 function bsk:ProcessChange(change) | 221 function bsk:ProcessChange(change) |
223 if change.action == "AddPerson" then | 222 if change.action == "AddPerson" then |
224 bsk:DoAddPerson(change) | 223 bsk:DoAddPerson(change) |
224 elseif change.action == "RenameList" then | |
225 bsk:DoRenameList(change) | |
225 elseif change.action == "CreateList" then | 226 elseif change.action == "CreateList" then |
226 bsk:DoCreateList(change) | 227 bsk:DoCreateList(change) |
227 elseif change.action == "AddToListEnd" then | 228 elseif change.action == "AddToListEnd" then |
228 bsk:DoAddPersonToListEnd(change) | 229 bsk:DoAddPersonToListEnd(change) |
229 elseif change.action == "AddToListRand" then | 230 elseif change.action == "AddToListRand" then |
450 if bsk:DoSuicidePerson(change) then | 451 if bsk:DoSuicidePerson(change) then |
451 bsk:CommitChange(change) | 452 bsk:CommitChange(change) |
452 end | 453 end |
453 end | 454 end |
454 | 455 |
456 function bsk:DoRenameList(change) | |
457 bsk.lists[change.arg.listIndex].name = change.arg.name | |
458 bsk.lists[change.arg.listIndex].time = change.time | |
459 return true | |
460 end | |
461 | |
462 function bsk:RenameList(listName,newListName) | |
463 -- require admin | |
464 local listIndex = bsk:GetListIndex(listName) | |
465 local change = {action="RenameList",arg={listIndex=listIndex,name=newListName}} | |
466 bsk:StartChange(change) | |
467 if bsk:DoRenameList(change) then | |
468 bsk:CommitChange(change) | |
469 end | |
470 end | |
471 | |
472 --}}} | |
473 -- Higher order actions (ie calls other standard actions){{{ | |
474 | |
455 function bsk:TrimLists(time) | 475 function bsk:TrimLists(time) |
456 if not bsk:CheckListCausality() then | 476 if not bsk:CheckListCausality() then |
457 self:Print("Unable to trim changelist due to violated causality") | 477 self:Print("Unable to trim changelist due to violated causality") |
458 return false | 478 return false |
459 end | 479 end |
484 | 504 |
485 -- using the trimmed list and the new bases, recreate the working state | 505 -- using the trimmed list and the new bases, recreate the working state |
486 bsk:CreateWorkingStateFromChanges(bsk.db.profile.changes) | 506 bsk:CreateWorkingStateFromChanges(bsk.db.profile.changes) |
487 end | 507 end |
488 | 508 |
489 --}}} | |
490 -- Higher order actions (ie calls other standard actions){{{ | |
491 function bsk:AddMissingPersons() | 509 function bsk:AddMissingPersons() |
492 bsk:PopulateRaidList() | 510 bsk:PopulateRaidList() |
493 local t = {} | 511 local t = {} |
494 for id,_ in pairs(bsk.persons) do | 512 for id,_ in pairs(bsk.persons) do |
495 t[id] = true | 513 t[id] = true |