Clean up WeakAuras table and remove members that no one should touch
This commit is contained in:
+46
-46
@@ -125,7 +125,7 @@ end
|
||||
|
||||
|
||||
|
||||
function WeakAuras.scheduleConditionCheck(time, uid, cloneId)
|
||||
function Private.ExecEnv.ScheduleConditionCheck(time, uid, cloneId)
|
||||
conditionChecksTimers.recheckTime[uid] = conditionChecksTimers.recheckTime[uid] or {}
|
||||
conditionChecksTimers.recheckHandle[uid] = conditionChecksTimers.recheckHandle[uid] or {};
|
||||
|
||||
@@ -148,8 +148,8 @@ function WeakAuras.scheduleConditionCheck(time, uid, cloneId)
|
||||
end
|
||||
end
|
||||
|
||||
function WeakAuras.CallCustomConditionTest(uid, testFunctionNumber, ...)
|
||||
local ok, result = pcall(WeakAuras.conditionHelpers[uid].customTestFunctions[testFunctionNumber], ...)
|
||||
function Private.ExecEnv.CallCustomConditionTest(uid, testFunctionNumber, ...)
|
||||
local ok, result = pcall(Private.ExecEnv.conditionHelpers[uid].customTestFunctions[testFunctionNumber], ...)
|
||||
if not ok then
|
||||
Private.GetErrorHandlerUid(uid, L["Condition Custom Text"])
|
||||
elseif (ok) then
|
||||
@@ -203,34 +203,34 @@ local function CreateTestForCondition(uid, input, allConditionsTemplate, usedSta
|
||||
local preambleString
|
||||
|
||||
if preamble then
|
||||
WeakAuras.conditionHelpers[uid] = WeakAuras.conditionHelpers[uid] or {}
|
||||
WeakAuras.conditionHelpers[uid].preambles = WeakAuras.conditionHelpers[uid].preambles or {}
|
||||
tinsert(WeakAuras.conditionHelpers[uid].preambles, preamble(value) or "");
|
||||
local preambleNumber = #WeakAuras.conditionHelpers[uid].preambles
|
||||
preambleString = string.format("WeakAuras.conditionHelpers[%q].preambles[%s]", uid, preambleNumber)
|
||||
Private.ExecEnv.conditionHelpers[uid] = Private.ExecEnv.conditionHelpers[uid] or {}
|
||||
Private.ExecEnv.conditionHelpers[uid].preambles = Private.ExecEnv.conditionHelpers[uid].preambles or {}
|
||||
tinsert(Private.ExecEnv.conditionHelpers[uid].preambles, preamble(value) or "");
|
||||
local preambleNumber = #Private.ExecEnv.conditionHelpers[uid].preambles
|
||||
preambleString = string.format("Private.ExecEnv.conditionHelpers[%q].preambles[%s]", uid, preambleNumber)
|
||||
end
|
||||
|
||||
if (test) then
|
||||
if (value) then
|
||||
WeakAuras.conditionHelpers[uid] = WeakAuras.conditionHelpers[uid] or {}
|
||||
WeakAuras.conditionHelpers[uid].customTestFunctions = WeakAuras.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(WeakAuras.conditionHelpers[uid].customTestFunctions, test);
|
||||
local testFunctionNumber = #(WeakAuras.conditionHelpers[uid].customTestFunctions);
|
||||
Private.ExecEnv.conditionHelpers[uid] = Private.ExecEnv.conditionHelpers[uid] or {}
|
||||
Private.ExecEnv.conditionHelpers[uid].customTestFunctions = Private.ExecEnv.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(Private.ExecEnv.conditionHelpers[uid].customTestFunctions, test);
|
||||
local testFunctionNumber = #(Private.ExecEnv.conditionHelpers[uid].customTestFunctions);
|
||||
local valueString = type(value) == "string" and string.format("%q", value) or value;
|
||||
local opString = type(op) == "string" and string.format("%q", op) or op;
|
||||
check = string.format("state and WeakAuras.CallCustomConditionTest(%q, %s, state[%s], %s, %s, %s)",
|
||||
check = string.format("state and Private.ExecEnv.CallCustomConditionTest(%q, %s, state[%s], %s, %s, %s)",
|
||||
uid, testFunctionNumber, trigger, valueString, (opString or "nil"), preambleString or "nil");
|
||||
end
|
||||
elseif (cType == "customcheck") then
|
||||
if value then
|
||||
local customCheck = WeakAuras.LoadFunction("return " .. value)
|
||||
if customCheck then
|
||||
WeakAuras.conditionHelpers[uid] = WeakAuras.conditionHelpers[uid] or {}
|
||||
WeakAuras.conditionHelpers[uid].customTestFunctions = WeakAuras.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(WeakAuras.conditionHelpers[uid].customTestFunctions, customCheck);
|
||||
local testFunctionNumber = #(WeakAuras.conditionHelpers[uid].customTestFunctions);
|
||||
Private.ExecEnv.conditionHelpers[uid] = Private.ExecEnv.conditionHelpers[uid] or {}
|
||||
Private.ExecEnv.conditionHelpers[uid].customTestFunctions = Private.ExecEnv.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(Private.ExecEnv.conditionHelpers[uid].customTestFunctions, customCheck);
|
||||
local testFunctionNumber = #(Private.ExecEnv.conditionHelpers[uid].customTestFunctions);
|
||||
|
||||
check = string.format("state and WeakAuras.CallCustomConditionTest(%q, %s, state)",
|
||||
check = string.format("state and Private.ExecEnv.CallCustomConditionTest(%q, %s, state)",
|
||||
uid, testFunctionNumber, trigger);
|
||||
end
|
||||
end
|
||||
@@ -297,12 +297,12 @@ local function CreateTestForCondition(uid, input, allConditionsTemplate, usedSta
|
||||
if fn then
|
||||
local customCheck = WeakAuras.LoadFunction(fn)
|
||||
if customCheck then
|
||||
WeakAuras.conditionHelpers[uid] = WeakAuras.conditionHelpers[uid] or {}
|
||||
WeakAuras.conditionHelpers[uid].customTestFunctions = WeakAuras.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(WeakAuras.conditionHelpers[uid].customTestFunctions, customCheck);
|
||||
local testFunctionNumber = #(WeakAuras.conditionHelpers[uid].customTestFunctions);
|
||||
Private.ExecEnv.conditionHelpers[uid] = Private.ExecEnv.conditionHelpers[uid] or {}
|
||||
Private.ExecEnv.conditionHelpers[uid].customTestFunctions = Private.ExecEnv.conditionHelpers[uid].customTestFunctions or {}
|
||||
tinsert(Private.ExecEnv.conditionHelpers[uid].customTestFunctions, customCheck);
|
||||
local testFunctionNumber = #(Private.ExecEnv.conditionHelpers[uid].customTestFunctions);
|
||||
|
||||
check = string.format("state and WeakAuras.CallCustomConditionTest(%q, %s, state)",
|
||||
check = string.format("state and Private.ExecEnv.CallCustomConditionTest(%q, %s, state)",
|
||||
uid, testFunctionNumber, trigger);
|
||||
end
|
||||
end
|
||||
@@ -423,17 +423,17 @@ local function CreateActivateCondition(ret, id, condition, conditionNumber, prop
|
||||
elseif (propertyData.action) then
|
||||
local pathToCustomFunction = "nil";
|
||||
local pathToFormatter = "nil"
|
||||
if (WeakAuras.customConditionsFunctions[id]
|
||||
and WeakAuras.customConditionsFunctions[id][conditionNumber]
|
||||
and WeakAuras.customConditionsFunctions[id][conditionNumber].changes
|
||||
and WeakAuras.customConditionsFunctions[id][conditionNumber].changes[changeNum]) then
|
||||
pathToCustomFunction = string.format("WeakAuras.customConditionsFunctions[%q][%s].changes[%s]", id, conditionNumber, changeNum);
|
||||
if (Private.ExecEnv.customConditionsFunctions[id]
|
||||
and Private.ExecEnv.customConditionsFunctions[id][conditionNumber]
|
||||
and Private.ExecEnv.customConditionsFunctions[id][conditionNumber].changes
|
||||
and Private.ExecEnv.customConditionsFunctions[id][conditionNumber].changes[changeNum]) then
|
||||
pathToCustomFunction = string.format("Private.ExecEnv.customConditionsFunctions[%q][%s].changes[%s]", id, conditionNumber, changeNum);
|
||||
end
|
||||
if WeakAuras.conditionTextFormatters[id]
|
||||
and WeakAuras.conditionTextFormatters[id][conditionNumber]
|
||||
and WeakAuras.conditionTextFormatters[id][conditionNumber].changes
|
||||
and WeakAuras.conditionTextFormatters[id][conditionNumber].changes[changeNum] then
|
||||
pathToFormatter = string.format("WeakAuras.conditionTextFormatters[%q][%s].changes[%s]", id, conditionNumber, changeNum);
|
||||
if Private.ExecEnv.conditionTextFormatters[id]
|
||||
and Private.ExecEnv.conditionTextFormatters[id][conditionNumber]
|
||||
and Private.ExecEnv.conditionTextFormatters[id][conditionNumber].changes
|
||||
and Private.ExecEnv.conditionTextFormatters[id][conditionNumber].changes[changeNum] then
|
||||
pathToFormatter = string.format("Private.ExecEnv.conditionTextFormatters[%q][%s].changes[%s]", id, conditionNumber, changeNum);
|
||||
end
|
||||
ret = ret .. " region:" .. propertyData.action .. "(" .. formatValueForAssignment(propertyData.type, change.value, pathToCustomFunction, pathToFormatter) .. ")" .. "\n";
|
||||
if (debug) then ret = ret .. " print('# " .. propertyData.action .. "(" .. formatValueForAssignment(propertyData.type, change.value, pathToCustomFunction, pathToFormatter) .. "')\n"; end
|
||||
@@ -489,7 +489,7 @@ end
|
||||
|
||||
function Private.GetProperties(data)
|
||||
local properties;
|
||||
local propertiesFunction = WeakAuras.regionTypes[data.regionType] and WeakAuras.regionTypes[data.regionType].properties;
|
||||
local propertiesFunction = Private.regionTypes[data.regionType] and Private.regionTypes[data.regionType].properties;
|
||||
if (type(propertiesFunction) == "function") then
|
||||
properties = propertiesFunction(data);
|
||||
elseif propertiesFunction then
|
||||
@@ -505,7 +505,7 @@ end
|
||||
function Private.LoadConditionPropertyFunctions(data)
|
||||
local id = data.id;
|
||||
if (data.conditions) then
|
||||
WeakAuras.customConditionsFunctions[id] = {};
|
||||
Private.ExecEnv.customConditionsFunctions[id] = {};
|
||||
for conditionNumber, condition in ipairs(data.conditions) do
|
||||
if (condition.changes) then
|
||||
for changeIndex, change in ipairs(condition.changes) do
|
||||
@@ -519,9 +519,9 @@ function Private.LoadConditionPropertyFunctions(data)
|
||||
end
|
||||
local customFunc = WeakAuras.LoadFunction(prefix .. custom .. suffix);
|
||||
if (customFunc) then
|
||||
WeakAuras.customConditionsFunctions[id][conditionNumber] = WeakAuras.customConditionsFunctions[id][conditionNumber] or {};
|
||||
WeakAuras.customConditionsFunctions[id][conditionNumber].changes = WeakAuras.customConditionsFunctions[id][conditionNumber].changes or {};
|
||||
WeakAuras.customConditionsFunctions[id][conditionNumber].changes[changeIndex] = customFunc;
|
||||
Private.ExecEnv.customConditionsFunctions[id][conditionNumber] = Private.ExecEnv.customConditionsFunctions[id][conditionNumber] or {};
|
||||
Private.ExecEnv.customConditionsFunctions[id][conditionNumber].changes = Private.ExecEnv.customConditionsFunctions[id][conditionNumber].changes or {};
|
||||
Private.ExecEnv.customConditionsFunctions[id][conditionNumber].changes[changeIndex] = customFunc;
|
||||
end
|
||||
end
|
||||
if change.property == "chat" then
|
||||
@@ -533,10 +533,10 @@ function Private.LoadConditionPropertyFunctions(data)
|
||||
return change.value[fullKey]
|
||||
end
|
||||
local formatters = change.value and Private.CreateFormatters(change.value.message, getter, true)
|
||||
WeakAuras.conditionTextFormatters[id] = WeakAuras.conditionTextFormatters[id] or {}
|
||||
WeakAuras.conditionTextFormatters[id][conditionNumber] = WeakAuras.conditionTextFormatters[id][conditionNumber] or {};
|
||||
WeakAuras.conditionTextFormatters[id][conditionNumber].changes = WeakAuras.conditionTextFormatters[id][conditionNumber].changes or {};
|
||||
WeakAuras.conditionTextFormatters[id][conditionNumber].changes[changeIndex] = formatters;
|
||||
Private.ExecEnv.conditionTextFormatters[id] = Private.ExecEnv.conditionTextFormatters[id] or {}
|
||||
Private.ExecEnv.conditionTextFormatters[id][conditionNumber] = Private.ExecEnv.conditionTextFormatters[id][conditionNumber] or {};
|
||||
Private.ExecEnv.conditionTextFormatters[id][conditionNumber].changes = Private.ExecEnv.conditionTextFormatters[id][conditionNumber].changes or {};
|
||||
Private.ExecEnv.conditionTextFormatters[id][conditionNumber].changes[changeIndex] = formatters;
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -620,7 +620,7 @@ local function ConstructConditionFunction(data)
|
||||
ret = ret .. " if (not hideRegion) then\n"
|
||||
local recheckCode = ""
|
||||
if (data.conditions) then
|
||||
WeakAuras.conditionHelpers[data.uid] = nil
|
||||
Private.ExecEnv.conditionHelpers[data.uid] = nil
|
||||
for conditionNumber, condition in ipairs(data.conditions) do
|
||||
local nextIsLinked = data.conditions[conditionNumber + 1] and data.conditions[conditionNumber + 1].linked
|
||||
local additionalRecheckCode
|
||||
@@ -634,7 +634,7 @@ local function ConstructConditionFunction(data)
|
||||
ret = ret .. " end\n";
|
||||
|
||||
ret = ret .. " if (recheckTime) then\n"
|
||||
ret = ret .. " WeakAuras.scheduleConditionCheck(recheckTime, uid, cloneId);\n"
|
||||
ret = ret .. " Private.ExecEnv.ScheduleConditionCheck(recheckTime, uid, cloneId);\n"
|
||||
ret = ret .. " end\n"
|
||||
|
||||
local properties = Private.GetProperties(data);
|
||||
@@ -697,7 +697,7 @@ function Private.LoadConditionFunction(data)
|
||||
CancelTimers(data.uid)
|
||||
|
||||
local checkConditionsFuncStr = ConstructConditionFunction(data);
|
||||
local checkCondtionsFunc = checkConditionsFuncStr and WeakAuras.LoadFunction(checkConditionsFuncStr);
|
||||
local checkCondtionsFunc = checkConditionsFuncStr and Private.LoadFunction(checkConditionsFuncStr)
|
||||
|
||||
checkConditions[data.uid] = checkCondtionsFunc;
|
||||
end
|
||||
@@ -845,7 +845,7 @@ function Private.RegisterForGlobalConditions(uid)
|
||||
dynamicConditionsFrame = CreateFrame("Frame");
|
||||
dynamicConditionsFrame:SetScript("OnEvent", handleDynamicConditions);
|
||||
dynamicConditionsFrame.units = {}
|
||||
WeakAuras.frames["Rerun Conditions Frame"] = dynamicConditionsFrame
|
||||
Private.frames["Rerun Conditions Frame"] = dynamicConditionsFrame
|
||||
end
|
||||
|
||||
for event in pairs(register) do
|
||||
|
||||
Reference in New Issue
Block a user