local FuncNode_AngleRangeCheck = class("FuncNode_AngleRangeCheck") --[[ 初始化 --]] function FuncNode_AngleRangeCheck:initialize(entity) self.LimitChildCount = 2 self.Type = LuaConst.ConditionFuncType.AngleRangeCheck end --[[ 执行 --]] function FuncNode_AngleRangeCheck:Run(conditionDataNode, entity, missile) local target = entity.components.target.Target if not target then return FP.Const.Zero end local min = conditionDataNode.FirstNode:Run(entity, missile) local max = conditionDataNode.SecondNode:Run(entity, missile) local myForward = entity.components.move.LogicRotateDir local toTargetDir = FP.V2.Normalized(target.components.move.LogicPos - entity.components.move.LogicPos) return FP.V2.AngleRangeCheckByDir(myForward, toTargetDir, min, max) and FP.Const.One or FP.Const.Zero end return FuncNode_AngleRangeCheck