local FuncNode_DamageRankCompare = class("FuncNode_DamageRankCompare") --[[ 初始化 --]] function FuncNode_DamageRankCompare:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.DamageRankCompare end --[[ 执行 --]] function FuncNode_DamageRankCompare:Run(conditionDataNode, entity, missile) local result = FP.Const.Zero if LevelManager.CurLevelFunc.GetDamageRank then local targetType = conditionDataNode.FirstNode:Run(entity, missile) local tempEntity = nil if targetType == FP.Const.Zero then --自己 tempEntity = entity elseif targetType == FP.Const.One then --目标 tempEntity = entity.components.target.Target end if tempEntity then local relationType = FP.tonumberV1(conditionDataNode.SecondNode:Run(entity, missile)) local compareToValue = FP.tonumberV1(conditionDataNode.ThirdNode:Run(entity, missile)) local rank = LevelManager.CurLevelFunc:GetDamageRank(tempEntity) local ConditionAnalysis = require "Battle/Logic/AI/Condition/ConditionAnalysis" result = ConditionAnalysis.CommonValueCompare(relationType, rank, compareToValue) end else logging.error(LTAG.ERROR, "HYW : 策划配置错误! 本玩法不支持伤害排名比较!! @FuncNode_DamageRankCompare LevelID : ", LevelManager.GetCurLevelID(), " LevelType : ", LevelManager.GetCurLevelType()) end return result end return FuncNode_DamageRankCompare