Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function deepcopy(object)
- local lookup_table = {}
- local function _copy(object)
- if type(object) ~= "table" then
- return object
- elseif lookup_table[object] then
- return lookup_table[object]
- end
- local new_table = {}
- lookup_table[object] = new_table
- for index, value in pairs(object) do
- new_table[_copy(index)] = _copy(value)
- end
- return setmetatable(new_table, getmetatable(object))
- end
- return _copy(object)
- end
- frame = CreateFrame("FRAME");
- function frame:OnLoad(event, ...)
- if event == "ADDON_LOADED" then
- self:UnregisterEvent("ADDON_LOADED");
- AutoLootOptions_LoadOptions();
- AutoLootOptions_Init();
- end
- end
- frame:SetScript("OnEvent", frame.OnLoad);
- function AutoLootOptions_Start(panel)
- panel.name = "AutoLoot";
- panel.okay = function()
- AutoLoot = deepcopy(AutoLoot_Clone);
- AutoLootOptions_Init();
- end
- panel.cancel = function()
- AutoLoot_Clone = deepcopy(AutoLoot);
- AutoLootOptions_Init();
- end
- InterfaceOptions_AddCategory(panel);
- frame:RegisterEvent("ADDON_LOADED");
- end
- function AutoLootOptions_LoadOptions()
- if AutoLoot == nil then
- AutoLoot = {};
- AutoLoot.Active = true;
- AutoLoot.LootItems = false;
- AutoLoot.LootUncommon = false;
- AutoLoot.LootRare = false;
- AutoLoot.LootEpic = false;
- AutoLoot.LootGroup = false;
- AutoLoot.AutoDE = false;
- AutoLoot.DEUncommon = false;
- AutoLoot.DERare = false;
- AutoLoot.DEEpic = false;
- AutoLoot.RollGreed = false;
- AutoLoot.Hunteritem = false;
- AutoLoot.Hunterclass = false;
- AutoLoot.LootWord = "Lootword";
- end
- AutoLoot_Clone = {};
- AutoLoot_Clone = deepcopy(AutoLoot);
- end
- function AutoLootOptions_Init()
- AutoLootOptionsFrameActiveButton:SetChecked(AutoLoot.Active);
- AutoLootOptionsFrameLootItemsButton:SetChecked(AutoLoot.LootItems);
- AutoLootOptionsFrameLootUncommonButton:SetChecked(AutoLoot.LootUncommon);
- AutoLootOptionsFrameLootRareButton:SetChecked(AutoLoot.LootRare);
- AutoLootOptionsFrameLootEpicButton:SetChecked(AutoLoot.LootEpic);
- AutoLootOptionsFrameLootGroupButton:SetChecked(AutoLoot.LootGroup);
- AutoLootOptionsFrameAutoDEButton:SetChecked(AutoLoot.AutoDE);
- AutoLootOptionsFrameDEUncommonButton:SetChecked(AutoLoot.DEUncommon);
- AutoLootOptionsFrameDERareButton:SetChecked(AutoLoot.DERare);
- AutoLootOptionsFrameDEEpicButton:SetChecked(AutoLoot.DEEpic);
- AutoLootOptionsFrameRollGreedButton:SetChecked(AutoLoot.RollGreed);
- AutoLootOptionsFrameHunteritemButton:SetChecked(AutoLoot.Hunteritem);
- AutoLootOptionsFrameHunterclassButton:SetChecked(AutoLoot.Hunterclass);
- AutoLootOptionsFrameLootWord:SetText(AutoLoot.LootWord);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement