forked from endernon/PGRData
58 lines
No EOL
1.9 KiB
Lua
58 lines
No EOL
1.9 KiB
Lua
----------------------------------------------------------------
|
|
--单个邮件检测
|
|
local XRedPointConditionFavorability = {}
|
|
|
|
local SubCondition = nil
|
|
function XRedPointConditionFavorability.GetSubConditions()
|
|
SubCondition = SubCondition or {
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_INFO,
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_RUMOR,
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_AUDIO,
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_DOCUMENT_ACTION,
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_PLOT,
|
|
XRedPointConditions.Types.CONDITION_FAVORABILITY_GIFT,
|
|
}
|
|
return SubCondition
|
|
end
|
|
|
|
function XRedPointConditionFavorability.Check(currCharacter)
|
|
local allCharDatas = XDataCenter.CharacterManager.GetCharacterList()
|
|
for _, v in pairs(allCharDatas or {}) do
|
|
local isOwn = XDataCenter.CharacterManager.IsOwnCharacter(v.Id)
|
|
local isCurrCharacter = (v.Id == currCharacter.CharacterId)
|
|
--未拥有角色与当前选中角色的状态不计算红点
|
|
if isOwn and not isCurrCharacter then
|
|
local args = {}
|
|
args.CharacterId = v.Id
|
|
if XRedPointConditionFavorabilityInfo.Check(args) then
|
|
return true
|
|
end
|
|
|
|
if XRedPointConditionFavorabilityRumor.Check(args) then
|
|
return true
|
|
end
|
|
|
|
if XRedPointConditionFavorabilityAudio.Check(args) then
|
|
return true
|
|
end
|
|
|
|
if XRedPointConditionFavorabilityAction.Check(args) then
|
|
return true
|
|
end
|
|
|
|
if XRedPointConditionFavorabilityPlot.Check(args) then
|
|
return true
|
|
end
|
|
|
|
if XRedPointConditionFavorabilityGift.Check(args) then
|
|
return true
|
|
end
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
|
|
|
|
return XRedPointConditionFavorability |