local FuncNode_LastFrameSpeedCompare = class("FuncNode_LastFrameSpeedCompare") --[[ 初始化 --]] function FuncNode_LastFrameSpeedCompare:initialize(entity) self.LimitChildCount = 3 self.Type = LuaConst.ConditionFuncType.LastFrameSpeedCompare end local _tempMoveStrideV2 = FP.newV2(0, 0) local _lastFrameSpeed = FP.newV1(0) --[[ 执行 --]] function FuncNode_LastFrameSpeedCompare: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 = conditionDataNode.ThirdNode:Run(entity, missile) if tempEntity then _tempMoveStrideV2:Reset(entity.components.move.LastFrameLogicPos) _tempMoveStrideV2:Sub(entity:GetLogicPos()) FP.V2.Magnitude(_tempMoveStrideV2, _lastFrameSpeed) _lastFrameSpeed:Mul(20) end local ConditionAnalysis = require "Battle/Logic/AI/Condition/ConditionAnalysis" return ConditionAnalysis.CommonValueCompare(relationType, _lastFrameSpeed, compareToValue) end return FuncNode_LastFrameSpeedCompare