local FuncNode_HpPercentCompare = class("FuncNode_HpPercentCompare") --[[ 初始化 --]] function FuncNode_HpPercentCompare:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.HpPercentCompare end --[[ 执行 --]] function FuncNode_HpPercentCompare:Run(conditionDataNode, entity, missile) 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 local relationType = FP.tonumberV1(conditionDataNode.SecondNode:Run(entity, missile)) local compareToValue = FP.tonumberV1(conditionDataNode.ThirdNode:Run(entity, missile)) local hpPercent = 0 if tempEntity then hpPercent = FP.tonumberV1(tempEntity:GetHp()) / FP.tonumberV1(tempEntity:GetMaxHp()) end local ConditionAnalysis = require "Battle/Logic/AI/Condition/ConditionAnalysis" return ConditionAnalysis.CommonValueCompare(relationType, hpPercent, compareToValue) end return FuncNode_HpPercentCompare