public void Initialize(CAStarNode pParentNode, CPathLineSegment pConnectingSegment, CPathWayPoint pCurWayPoint, uint CurWayPointIndex, CPathWayPoint pFinalDestWayPoint, double AccumulatedCostFromStartG, ESTIMATE_ADDITIONAL_COST_FUNC_PTR AdditionalCostFunc, double CollisionCostRatio, ESTIMATE_COST_TO_DEST_FUNC_PTR EstimateCostToDestFunc) { // you shouldn't change this node unless the change is better //assert(m_AccumulatedCostFromStartG >= AccumulatedCostFromStartG); m_AccumulatedCostFromStartG = AccumulatedCostFromStartG; if (pParentNode == null && pConnectingSegment == null) { m_AccumulatedCostFromStartG += AdditionalCostFunc(pParentNode, pConnectingSegment, CollisionCostRatio); } m_EstimatedCostToDestH = EstimateCostToDestFunc(pCurWayPoint, pFinalDestWayPoint); m_TotalCostForThisNodeF = m_AccumulatedCostFromStartG + m_EstimatedCostToDestH; //assert(pCurWayPoint.GetPosition().x < 1000000 && pCurWayPoint.GetPosition().x > -1000000); //assert(pCurWayPoint.GetPosition().y < 1000000 && pCurWayPoint.GetPosition().y > -1000000); m_pCurWayPoint = pCurWayPoint; m_CurWayPointIndex = CurWayPointIndex; m_pParent = pParentNode; }