vanilla-wow-addons – Rev 1
?pathlinks?
--[[
Guild Event Manager by Kiki of European Cho'gall
New event - By Alexandre Flament and Kiki
]]
local newEventDate;
local GEM_ModifyEventId = nil;
local _GEMNew_FirstShow = true;
local GEMNewAutoMembers_PList = {};
local GEMNewAutoMembers_RList = {};
--
function GEMNewSorting_EventOnHover()
local plugin_name = getglobal("GEMNewSortingListDropDown").name;
GameTooltip:SetOwner(this, "ANCHOR_CURSOR");
GameTooltip:ClearLines();
GameTooltip:AddLine("1");
GameTooltipTextLeft1:SetText("|cff" .. "00AAFF" .. plugin_name .. "|r");
local help = nil;
for name,plugin in GEM_SUB_Plugins do
if(name == plugin_name)
then
help = plugin.Help;
break;
end
end
if(help)
then
GameTooltip:AddLine("2");
GameTooltipTextLeft2:SetText("|cff" .. "FFFFFF" .. help .. "|r");
end
GameTooltip:Show();
end
function GEMNewSortingListDropDown_OnShow(sortname)
if(getglobal("GEMNewSortingListDropDown").name == nil)
then
getglobal("GEMNewSortingListDropDown").name = "";
end
if(sortname)
then
getglobal("GEMNewSortingListDropDown").name = sortname;
end
UIDropDownMenu_Initialize(GEMNewSortingListDropDown, GEMNewSortingListDropDown_Init);
UIDropDownMenu_SetText(getglobal("GEMNewSortingListDropDown").name, GEMNewSortingListDropDown);
end
local function _GEMNewSorting_IsDefault(name,plugin)
local selected = GEM_GetSelectedReroll();
if(selected == nil or selected == "")
then
selected = GEM_PlayerName;
end
if(GEM_Events.realms[GEM_Realm].my_names[selected].default_plugin)
then
return GEM_Events.realms[GEM_Realm].my_names[selected].default_plugin == name;
end
return (plugin.Default ~= nil and plugin.Default == true);
end
function GEMNewSortingListDropDown_OnClick()
getglobal("GEMNewSortingListDropDown").name = this.value;
UIDropDownMenu_SetText(this.value,GEMNewSortingListDropDown);
GEMNewSorting_Configure:Disable();
local plugin = GEM_SUB_Plugins[this.value];
if(plugin ~= nil and plugin.Configure ~= nil)
then
GEMNewSorting_Configure:Enable();
end
GEMNewSorting_Default:SetChecked(_GEMNewSorting_IsDefault(this.value,plugin));
end
function GEMNewSorting_Default_OnClick()
local selected = GEM_GetSelectedReroll();
if(selected == nil or selected == "")
then
selected = GEM_PlayerName;
end
if(GEMNewSorting_Default:GetChecked()) -- Default checked
then
GEM_Events.realms[GEM_Realm].my_names[selected].default_plugin = getglobal("GEMNewSortingListDropDown").name;
else -- Default unchecked
GEM_Events.realms[GEM_Realm].my_names[selected].default_plugin = nil;
end
end
function GEMNewSortingListDropDown_Init()
GEMNewSorting_Configure:Disable();
for name,plugin in GEM_SUB_Plugins do
local info = { };
info.text = name;
info.value = name;
info.func = GEMNewSortingListDropDown_OnClick;
UIDropDownMenu_AddButton(info);
if(_GEMNewSorting_IsDefault(name,plugin))
then
getglobal("GEMNewSortingListDropDown").name = name;
getglobal("GEMNewSortingListDropDown").help = plugin.Help;
UIDropDownMenu_SetText(name,GEMNewSortingListDropDown);
if(plugin.Configure ~= nil)
then
GEMNewSorting_Configure:Enable();
end
GEMNewSorting_Default:SetChecked(1);
end
end
end
--
function GEMNewTemplateListDropDown_OnShow()
if(getglobal("GEMNewTemplateListDropDown").name == nil)
then
getglobal("GEMNewTemplateListDropDown").name = "";
end
UIDropDownMenu_Initialize(GEMNewTemplateListDropDown, GEMNewTemplateListDropDown_Init);
UIDropDownMenu_SetText(getglobal("GEMNewTemplateListDropDown").name, GEMNewTemplateListDropDown);
end
function GEMNewTemplateListDropDown_OnClick()
getglobal("GEMNewTemplateListDropDown").name = this.value;
UIDropDownMenu_SetText(this.value,GEMNewTemplateListDropDown);
GEMNewTemplate_Load:Enable();
GEMNewTemplate_Delete:Enable();
end
function GEMNewTemplateListDropDown_Init()
for name,tab in GEM_Templates do
local info = { };
info.text = name;
info.value = name;
info.func = GEMNewTemplateListDropDown_OnClick;
UIDropDownMenu_AddButton(info);
end
end
--
function GEMNewChannelDropDown_OnShow(ch_name)
if(getglobal("GEMNewChannelDropDown").name == nil or not GEM_IsChannelInList(getglobal("GEMNewChannelDropDown").name))
then
getglobal("GEMNewChannelDropDown").name = GEM_DefaultSendChannel;
end
if(ch_name)
then
getglobal("GEMNewChannelDropDown").name = ch_name;
end
UIDropDownMenu_Initialize(GEMNewChannelDropDown, GEMNewChannelDropDown_Init);
UIDropDownMenu_SetText(getglobal("GEMNewChannelDropDown").name, GEMNewChannelDropDown);
UIDropDownMenu_SetWidth(120, GEMNewChannelDropDown);
end
function GEMNewChannelDropDown_OnClick()
getglobal("GEMNewChannelDropDown").name = this.value;
UIDropDownMenu_SetText(this.value,GEMNewChannelDropDown);
end
function GEMNewChannelDropDown_Init()
for name,tab in GEM_COM_Channels do
local info = { };
info.text = name;
info.value = name;
if(tab.id == 0)
then
info.disabled = 1;
end
info.func = GEMNewChannelDropDown_OnClick;
UIDropDownMenu_AddButton(info);
end
end
function GEM_GetSelectedChannel()
local name = getglobal("GEMNewChannelDropDown").name;
if(name == nil)
then
name = GEM_DefaultSendChannel;
end
return strlower(name);
end
--
function GEMNewRerollDropDown_OnShow(pl_name)
if(getglobal("GEMNewRerollDropDown").name == nil)
then
getglobal("GEMNewRerollDropDown").name = GEM_PlayerName;
end
if(pl_name)
then
getglobal("GEMNewRerollDropDown").name = pl_name;
end
UIDropDownMenu_Initialize(GEMNewRerollDropDown, GEMNewRerollDropDown_Init);
UIDropDownMenu_SetText(getglobal("GEMNewRerollDropDown").name, GEMNewRerollDropDown);
UIDropDownMenu_SetWidth(80, GEMNewRerollDropDown);
end
function GEMNewRerollDropDown_OnClick()
getglobal("GEMNewRerollDropDown").name = this.value;
getglobal("GEMListFrameRerollDropDown").name = this.value;
UIDropDownMenu_SetText(this.value,GEMNewRerollDropDown);
end
function GEMNewRerollDropDown_OnClickBadValue()
GEM_ChatPrint(GEM_TEXT_REROLL_ERR_SELECT);
end
function GEMNewRerollDropDown_Init()
for name,tab in GEM_Events.realms[GEM_Realm].my_names do
local info = { };
info.text = name;
info.value = name;
if(not GEM_IsChannelInRerollList(name,GEM_GetSelectedChannel()))
then
info.disabled = 1;
info.func = GEMNewRerollDropDown_OnClickBadValue;
else
info.func = GEMNewRerollDropDown_OnClick;
end
UIDropDownMenu_AddButton(info);
end
end
--
function GEMNew_Event_ZoneDropDown_OnShow()
UIDropDownMenu_Initialize(GEMNew_Event_ZoneDropDown, GEMNew_Event_ZoneDropDown_Init);
UIDropDownMenu_SetText("", GEMNew_Event_ZoneDropDown);
UIDropDownMenu_SetWidth(80, GEMNew_Event_ZoneDropDown);
end
function GEMNew_Event_ZoneDropDown_OnClick()
GEMNew_Where:SetText(this.value);
end
function GEMNew_Event_ZoneDropDown_Init()
for k,instance in GEM_INSTANCES do
local info = { };
info.text = instance;
info.value = instance;
info.func = GEMNew_Event_ZoneDropDown_OnClick;
UIDropDownMenu_AddButton(info);
end
end
function GEMNew_Date_OnClick()
GEMCalendar_PickupDate(GEMNew_Date_PickedUp, nil);
end
function GEMNew_Date_PickedUp(sel_date, user_data)
GEMNew_Date_Set(sel_date - GEM_ComputeHourOffset());
end
function GEMNew_Date_Set(sel_date)
if(GEM_ServerOffset == 666)
then
GEM_ComputeServerOffset();
end
GEMNew_DateValueServer:SetText(GEM_HEADER_DATE_SERVER..date(GEM_HOUR_FORMAT,sel_date+(GEM_ServerOffset * 60 * 60)));
GEMNew_DateValue:SetText(GEM_ConvertDateFormat(date(GEM_Events.DateFormat,sel_date)));
newEventDate = sel_date;
end
local function GEMNew_GetClass(name)
local wgt_name = "GEMNew_Limit_"..name;
local mini,maxi;
mini = tonumber(getglobal(wgt_name.."_Min"):GetText(),10);
maxi = tonumber(getglobal(wgt_name.."_Max"):GetText(),10);
local sub = {};
sub.min = -1;
sub.max = -1;
sub.tit_count = 0;
sub.sub_count = 0;
sub.repl_count = 0;
if(mini)
then
sub.min = mini;
end
if(maxi)
then
sub.max = maxi;
end
return sub;
end
local function GEMNew_SetClass(name,class)
local wgt_name = "GEMNew_Limit_"..name;
local mini,maxi;
if(class.min)
then
getglobal(wgt_name.."_Min"):SetText(class.min);
end
if(class.min)
then
getglobal(wgt_name.."_Max"):SetText(class.max);
end
end
local function GEMNew_ResetAllClasses()
GEMNew_Limit_Warrior_Min:SetText("");
GEMNew_Limit_Warrior_Max:SetText("");
GEMNew_Limit_Paladin_Min:SetText("");
GEMNew_Limit_Paladin_Max:SetText("");
GEMNew_Limit_Shaman_Min:SetText("");
GEMNew_Limit_Shaman_Max:SetText("");
GEMNew_Limit_Rogue_Min:SetText("");
GEMNew_Limit_Rogue_Max:SetText("");
GEMNew_Limit_Mage_Min:SetText("");
GEMNew_Limit_Mage_Max:SetText("");
GEMNew_Limit_Warlock_Min:SetText("");
GEMNew_Limit_Warlock_Max:SetText("");
GEMNew_Limit_Hunter_Min:SetText("");
GEMNew_Limit_Hunter_Max:SetText("");
GEMNew_Limit_Druid_Min:SetText("");
GEMNew_Limit_Druid_Max:SetText("");
GEMNew_Limit_Priest_Min:SetText("");
GEMNew_Limit_Priest_Max:SetText("");
end
local function GEMNew_GetClasses()
local clas = {};
clas["WARRIOR"] = GEMNew_GetClass("Warrior");
clas["PALADIN"] = GEMNew_GetClass("Paladin");
clas["SHAMAN"] = GEMNew_GetClass("Shaman");
clas["ROGUE"] = GEMNew_GetClass("Rogue");
clas["MAGE"] = GEMNew_GetClass("Mage");
clas["WARLOCK"] = GEMNew_GetClass("Warlock");
clas["HUNTER"] = GEMNew_GetClass("Hunter");
clas["DRUID"] = GEMNew_GetClass("Druid");
clas["PRIEST"] = GEMNew_GetClass("Priest");
return clas;
end
local function GEMNew_SetClasses(classes)
GEMNew_ResetAllClasses();
GEMNew_SetClass("Warrior",classes["WARRIOR"]);
GEMNew_SetClass("Paladin",classes["PALADIN"]);
GEMNew_SetClass("Shaman",classes["SHAMAN"]);
GEMNew_SetClass("Rogue",classes["ROGUE"]);
GEMNew_SetClass("Mage",classes["MAGE"]);
GEMNew_SetClass("Warlock",classes["WARLOCK"]);
GEMNew_SetClass("Hunter",classes["HUNTER"]);
GEMNew_SetClass("Druid",classes["DRUID"]);
GEMNew_SetClass("Priest",classes["PRIEST"]);
end
function GEMNew_CheckResetEdit()
if(GEMNew_Create:GetText() == GEM_TEXT_MODIFY) -- Edit mode canceled
then
GEMNew_Create:SetText(GEM_TEXT_CREATE);
GEMNew_Reset();
GEMNew_ResetAllClasses();
end
end
function GEMNew_Create_OnClick()
if(GEMNew_Create:GetText() == GEM_TEXT_MODIFY) -- Edit mode
then
local where, count, min_lvl, max_lvl;
local clas = GEMNew_GetClasses();
where = GEMNew_Where:GetText();
if(where == "")
then
GEM_ChatPrint(GEM_TEXT_ERR_NO_WHERE);
GEMNew_Where:SetFocus();
return;
end
comment = string.gsub(GEMNew_Comment:GetText(),"[%c]"," ");
count = GEMNew_Count:GetNumber();
min_lvl = GEMNew_MinLevel:GetNumber();
max_lvl = GEMNew_MaxLevel:GetNumber();
-- Update event
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].leader = GEM_GetSelectedReroll();
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].update_time = time();
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].ev_date = newEventDate;
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].ev_place = where;
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].ev_comment = comment;
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].max_count = count;
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].min_lvl = min_lvl;
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].max_lvl = max_lvl;
for name,tab in clas do
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].classes[name].min = tab.min
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].classes[name].max = tab.max;
end
local sorttype = GEM_SUB_GetSortType(getglobal("GEMNewSortingListDropDown").name);
if(sorttype == nil)
then
GEM_ChatWarning("GEMNew_Create_OnClick : Failed to update SortType for '"..getglobal("GEMNewSortingListDropDown").name.."'");
return;
end
GEM_Events.realms[GEM_Realm].events[GEM_ModifyEventId].sorttype = sorttype;
GEM_ChatDebug(GEM_DEBUG_GUI,"EditEvent : Updated EventId "..GEM_ModifyEventId.." Leader="..GEM_GetSelectedReroll().." Date="..date("%c",newEventDate).." Place="..where.." Comment="..comment.." Count="..count.." Min="..min_lvl.." Max="..max_lvl);
-- Check players's level
GEM_SUB_CheckPlayersLevel(GEM_ModifyEventId);
-- Re order players
GEM_SUB_SortPlayers(GEM_ModifyEventId);
-- Notify
GEM_COM_NotifyEventUpdate(GEM_ModifyEventId);
GEMNew_Create:SetText(GEM_TEXT_CREATE);
GEMNew_Reset();
GEMNew_ResetAllClasses();
GEMMain_SelectTab(1);
else
local where, count, min_lvl, max_lvl, sorttype;
local clas = GEMNew_GetClasses();
where = GEMNew_Where:GetText();
if(where == "")
then
GEM_ChatPrint(GEM_TEXT_ERR_NO_WHERE);
GEMNew_Where:SetFocus();
return;
end
comment = string.gsub(GEMNew_Comment:GetText(),"[%c]"," ");
count = GEMNew_Count:GetNumber();
min_lvl = GEMNew_MinLevel:GetNumber();
max_lvl = GEMNew_MaxLevel:GetNumber();
sorttype = GEM_SUB_GetSortType(getglobal("GEMNewSortingListDropDown").name);
if(sorttype == nil)
then
GEM_ChatWarning("GEMNew_Create_OnClick : Failed to find SortType for '"..getglobal("GEMNewSortingListDropDown").name.."'");
return;
end
local ev_id = GEM_COM_CreateNewEvent(GEM_GetSelectedChannel(),newEventDate, where,comment, count, min_lvl, max_lvl,clas,sorttype);
GEMNew_CheckAutoMembers(ev_id);
GEMNew_Reset();
GEMNew_ResetAllClasses();
GEMMain_SelectTab(1);
end
end
function GEMNew_Reset()
GEMNew_AutoMembers:Enable();
GEMNewAutoMembers_PList = {};
GEMNewAutoMembers_RList = {};
GEMNew_Where:SetText("");
GEMNew_Comment:SetText("");
GEMNew_Count:SetText("5");
GEMNew_MinLevel:SetText("1");
GEMNew_MaxLevel:SetText("60");
local d = floor(time() / 900) * 900;
GEMNew_Date_Set(d);
end
function GEMNew_OnShow()
if(_GEMNew_FirstShow)
then
GEMNew_Reset();
GEMNew_ResetAllClasses();
GEMNewTemplate_Load:Disable();
GEMNewTemplate_Delete:Disable();
_GEMNew_FirstShow = false;
end
end
--
function GEMNewTemplate_Save_OnClick()
local name = GEMNewTemplate_Name:GetText();
if(name == "")
then
GEM_ChatPrint(GEM_TEXT_ERR_NO_TEMPLATE);
GEMNewTemplate_Name:SetFocus();
return;
end
GEM_Templates[name] = {};
GEM_Templates[name].classes = GEMNew_GetClasses();
GEM_Templates[name].where = GEMNew_Where:GetText();
GEM_Templates[name].comment = GEMNew_Comment:GetText();
GEM_Templates[name].count = GEMNew_Count:GetNumber();
GEM_Templates[name].min_lvl = GEMNew_MinLevel:GetNumber();
GEM_Templates[name].max_lvl = GEMNew_MaxLevel:GetNumber();
GEM_Templates[name].AutoMembers_PList = GEMNewAutoMembers_PList;
GEM_Templates[name].AutoMembers_RList = GEMNewAutoMembers_RList;
GEM_ChatPrint(GEM_TEXT_TEMPLATE_SAVED);
GEMNewTemplate_Name:SetText("");
GEMNewTemplateListDropDown_OnShow();
end
function GEMNewTemplate_Load_OnClick()
local name = getglobal("GEMNewTemplateListDropDown").name;
GEMNew_Where:SetText(GEM_Templates[name].where);
GEMNew_Comment:SetText(GEM_Templates[name].comment);
GEMNew_Count:SetText(GEM_Templates[name].count);
GEMNew_MinLevel:SetText(GEM_Templates[name].min_lvl);
GEMNew_MaxLevel:SetText(GEM_Templates[name].max_lvl);
GEMNew_SetClasses(GEM_Templates[name].classes);
GEMNewAutoMembers_PList = GEM_Templates[name].AutoMembers_PList;
GEMNewAutoMembers_RList = GEM_Templates[name].AutoMembers_RList;
if(GEMNewAutoMembers_PList == nil) then GEMNewAutoMembers_PList = {}; end;
if(GEMNewAutoMembers_RList == nil) then GEMNewAutoMembers_RList = {}; end;
end
StaticPopupDialogs["GEM_CONFIRM_ERASE_TEMPLATE"] = {
text = TEXT(GEM_TEXT_NEW_CLOSE_CONFIRM),
button1 = TEXT(OKAY),
button2 = TEXT(CANCEL),
OnAccept = function()
local name = this:GetParent().data;
GEM_Templates[name] = nil;
getglobal("GEMNewTemplateListDropDown").name = nil;
GEMNewTemplateListDropDown_OnShow();
GEMNewTemplate_Load:Disable();
GEMNewTemplate_Delete:Disable();
end,
timeout = 0
};
function GEMNewTemplate_Delete_OnClick()
local dialogFrame = StaticPopup_Show("GEM_CONFIRM_ERASE_TEMPLATE");
if(dialogFrame)
then
dialogFrame.data = getglobal("GEMNewTemplateListDropDown").name;
end
end
function GEMNew_LoadEvent(event)
GEMNew_Where:SetText(event.ev_place);
GEMNew_Comment:SetText(event.ev_comment);
GEMNew_Count:SetText(event.max_count);
GEMNew_MinLevel:SetText(event.min_lvl);
GEMNew_MaxLevel:SetText(event.max_lvl);
GEMNew_SetClasses(event.classes);
GEM_ModifyEventId = event.id;
GEMNewRerollDropDown_OnShow(event.leader);
GEMNewChannelDropDown_OnShow(event.channel);
GEMNewSortingListDropDown_OnShow(GEM_SUB_GetSortType(event.sorttype));
GEMNew_Date_Set(event.ev_date);
end
--
function GEMNewSorting_Configure_OnClick()
local name = getglobal("GEMNewSortingListDropDown").name;
local plugin = GEM_SUB_Plugins[name];
if(plugin ~= nil and plugin.Configure ~= nil)
then
plugin.Configure();
end
end
--
--[[
Auto members Functions
]]
local MAXDISPLAY_AUTOMEMBERS = 8;
local selectPItem = nil;
local selectRItem = nil;
local function GEMNewAutoMembers_GetPList()
local plist = {};
for i,tab in GEMNewAutoMembers_PList
do
table.insert(plist,{ Place=i; infos=tab; });
end
return plist;
end
function GEMNewAutoMembers_UpdatePList()
if(not GEMNewAutoMembersFrame:IsVisible()) then
return;
end
local list = GEMNewAutoMembers_GetPList();
local size = table.getn(list);
local offset = FauxScrollFrame_GetOffset(GEMNewAutoMembersFramePItemScrollFrame);
numButtons = MAXDISPLAY_AUTOMEMBERS;
i = 1;
while (i <= numButtons) do
local j = i + offset
local prefix = "GEMNewAutoMembersFramePItem"..i;
local button = getglobal(prefix);
if (j <= size) then
local infos = list[j].infos;
button.pl_name = infos.Name;
getglobal(prefix.."Place"):SetText("P"..list[j].Place);
getglobal(prefix.."Name"):SetText(infos.Name);
getglobal(prefix.."Guild"):SetText(infos.Guild);
getglobal(prefix.."Class"):SetText(GEM_Classes[infos.Class]);
getglobal(prefix.."Level"):SetText(infos.Level);
button:Show();
-- selected
if (selectPItem == infos.Name) then
button:LockHighlight();
else
button:UnlockHighlight();
end
else
button.pl_name = nil;
button:Hide();
end
i = i + 1;
end
FauxScrollFrame_Update(GEMNewAutoMembersFramePItemScrollFrame, size, MAXDISPLAY_AUTOMEMBERS, 17);
end
local function GEMNewAutoMembers_GetRList()
local plist = {};
for i,tab in GEMNewAutoMembers_RList
do
table.insert(plist,{ Place=i; infos=tab; });
end
return plist;
end
function GEMNewAutoMembers_UpdateRList()
if(not GEMNewAutoMembersFrame:IsVisible()) then
return;
end
local list = GEMNewAutoMembers_GetRList();
local size = table.getn(list);
local offset = FauxScrollFrame_GetOffset(GEMNewAutoMembersFrameRItemScrollFrame);
numButtons = MAXDISPLAY_AUTOMEMBERS;
i = 1;
while (i <= numButtons) do
local j = i + offset
local prefix = "GEMNewAutoMembersFrameRItem"..i;
local button = getglobal(prefix);
if (j <= size) then
local infos = list[j].infos;
button.pl_name = infos.Name;
getglobal(prefix.."Place"):SetText("R"..list[j].Place);
getglobal(prefix.."Name"):SetText(infos.Name);
getglobal(prefix.."Guild"):SetText(infos.Guild);
getglobal(prefix.."Class"):SetText(GEM_Classes[infos.Class]);
getglobal(prefix.."Level"):SetText(infos.Level);
button:Show();
-- selected
if (selectRItem == infos.Name) then
button:LockHighlight();
else
button:UnlockHighlight();
end
else
button.pl_name = nil;
button:Hide();
end
i = i + 1;
end
FauxScrollFrame_Update(GEMNewAutoMembersFrameRItemScrollFrame, size, MAXDISPLAY_AUTOMEMBERS, 17);
end
function GEMNewAutoMembers_SortBy()
end
function GEMNewAutoMembers_OnClick()
if(this:GetID() == 1)
then
selectPItem = this.pl_name;
GEMNewAutoMembers_UpdatePList();
elseif(this:GetID() == 2)
then
selectRItem = this.pl_name;
GEMNewAutoMembers_UpdateRList();
end
end
function GEMNewAutoMembers_OnShow()
GEMNewAutoMembers_UpdatePList();
GEMNewAutoMembers_UpdateRList();
end
function GEMNewAutoMembers_PInfosSet(infos)
table.insert(GEMNewAutoMembers_PList,{ Name=infos.name; Guild=infos.guild; Class=infos.class; Level=infos.level });
GEMNewAutoMembers_UpdatePList();
end
function GEMNewAutoMembers_RInfosSet(infos)
table.insert(GEMNewAutoMembers_RList,{ Name=infos.name; Guild=infos.guild; Class=infos.class; Level=infos.level });
GEMNewAutoMembers_UpdateRList();
end
function GEMNew_AutoMembers_OnClick()
if(GEMNewAutoMembersFrame:IsVisible())
then
GEMNewAutoMembersFrame:Hide();
else
-- Show the window
GEMNewAutoMembersFrame:Show();
end
end
function GEMNew_CheckAutoMembers(ev_id)
local added = false;
local creat_time = time();
for i,infos in GEMNewAutoMembers_PList
do
GEM_SUB_CreateSubscriber(ev_id,creat_time,infos.Name,infos.Class,infos.Guild,infos.Level,"",0,infos.ForceTit);
added = true;
end
for i,infos in GEMNewAutoMembers_RList
do
GEM_SUB_CreateSubscriber(ev_id,creat_time,infos.Name,infos.Class,infos.Guild,infos.Level,"",1,0);
added = true;
end
if(added)
then
GEM_NotifyGUI(GEM_NOTIFY_NEW_EVENT,ev_id);
end
end