ManageCondi (条件管理)
<h3>动态插入条件(前后端按需要插入)</h3>
<pre><code>function ManageCondi:insert(data)
---* data = {
---* id --不可重复
---* condi --条件参数
---* isEvent --任意值需要
---* alert --条件不足时提示,可空
---* }
end
-- 插入方法示例
function PanelMapMove:AddCondi(id,condi,isEvent,alert)
if not (id and condi) then
return
end
if type(id) == &quot;table&quot; then
for i = 1, #id do
if type(condi[i][1]) == &quot;table&quot; then
ManageCondi:insert({id=id[i],condi=condi[i],isEvent=isEvent and isEvent[i],alert=alert and alert[i]})
else
ManageCondi:insert({id=id[i],condi={condi[i]},isEvent=isEvent and isEvent[i],alert=alert and alert[i]})
end
end
else
if type(condi[1]) == &quot;table&quot; then
ManageCondi:insert({id=id,condi=condi,isEvent=isEvent,alert=alert})
else
ManageCondi:insert({id=id,condi={condi},isEvent=isEvent,alert=alert})
end
end
end</code></pre>
<h3>检测条件是否满足</h3>
<p>---等同 player:check_condi
---@param actor any 玩家对象
---@param id number|table 条件id
---@param isAlert boolean? 不满足是否警告</p>
<pre><code>function ManageCondi.checkTarget(actor,id,isAlert)
end</code></pre>