local FuncNode_HpCompare = class("FuncNode_HpCompare") --[[ 初始化 --]] function FuncNode_HpCompare:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.HpCompare end --[[ 执行 --]] function FuncNode_HpCompare: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 elseif targetType == FP.Const.Two then --交互物 tempEntity = entity.components.interact:GetLastInteractEntity() end local relationType = FP.tonumberV1(conditionDataNode.SecondNode:Run(entity, missile)) local compareToValue = FP.tonumberV1(conditionDataNode.ThirdNode:Run(entity, missile)) local hp = 0 if tempEntity then hp = FP.tonumberV1(tempEntity:GetHp()) end local ConditionAnalysis = require "Battle/Logic/AI/Condition/ConditionAnalysis" return ConditionAnalysis.CommonValueCompare(relationType, hp, compareToValue) end return FuncNode_HpCompare