private void ExecuteChilds(AgentObjectBlackBoard blackBoard, SelectAgentObjInfo selectObjInfo)
        {
            blackBoard.selectAgentObjInfo = selectObjInfo;
            int count = m_lstChild.Count;

            for (int i = 0; i < count; i++)
            {
                m_lstChild[i].OnTick(blackBoard);
            }
            blackBoard.selectAgentObjInfo.Reset();
        }
        protected override void OnSelectChild(AgentObjectBlackBoard blackBoard, List <AgentObject> lst, ref List <SelectAgentObjInfo> result)
        {
            if (lst.Count == 0)
            {
                return;
            }
            AgentObject host         = blackBoard.host;
            TSVector    lastPosition = host.lastPosition;
            TSVector    lastForward  = host.lastForward;

            if (!string.IsNullOrEmpty(m_cLastPosToCurPosData.hangPoint))
            {
                blackBoard.host.GetHangPoint(m_cLastPosToCurPosData.hangPoint, host.lastPosition, host.lastForward, out lastPosition, out lastForward);
            }
            TSVector curPosition = host.curPosition;
            TSVector curForward  = host.curForward;

            if (!string.IsNullOrEmpty(m_cLastPosToCurPosData.hangPoint))
            {
                blackBoard.host.GetHangPoint(m_cLastPosToCurPosData.hangPoint, host.curPosition, host.curForward, out curPosition, out curForward);
            }
            //检测lastPosition到curPosition这条之间碰撞到的代理
            for (int i = 0; i < lst.Count; i++)
            {
                var agentObj = lst[i];
                if (agentObj.gameCollider != null)
                {
                    TSVector hitPoint;
                    if (agentObj.gameCollider.CheckLine(lastPosition, curPosition - lastPosition, out hitPoint))
                    {
                        SelectAgentObjInfo info = new SelectAgentObjInfo();
                        info.agentObj = agentObj;
                        info.hitPoint = hitPoint;
                        TSVector direct = agentObj.gameCollider.center - curPosition;;
                        if (direct.IsZero())
                        {
                            direct = curForward;
                        }
                        info.hitDirect = direct;
                        result.Add(info);
                    }
                }
            }
        }