public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder, myDividedArea iLinkToFather, myDividerType iNextType, int iNumberOfRandSamples) { m_divider_type = iNextType; mFirstBorder = iFirstBorder; mEndBorder = iEndBorder; mLinkToFather = iLinkToFather; //mLeftChild = null; //mRightChild = null; numberOfRandSamples = iNumberOfRandSamples; }
public void myMakeWall(ArrayList iMap, Vector2 iPoint, myDividerType iTypeOfWall, ArrayList iEmptyPoints, Vector2 iFirstBoundary, Vector2 iEndBoundary) { bool flag_continue = true; int w_counter = 0;//wall counter int m_start_point = 0; int m_end_point = 0; int index_i_map = 0; int index_j_map = 0; while (flag_continue) { if (iTypeOfWall == myDividerType.X)//wall on X { m_start_point = (int)iFirstBoundary[1]; m_end_point = (int)iEndBoundary[1]; index_i_map = (int)iPoint[0]; index_j_map = m_start_point + w_counter; } else //wall on Y { m_start_point = (int)iFirstBoundary[0]; m_end_point = (int)iEndBoundary[0]; index_i_map = m_start_point + w_counter; index_j_map = (int)iPoint[1]; } if (m_start_point + w_counter > m_end_point) { flag_continue = false; } else { setMapVal(iMap, index_i_map, index_j_map, (int)GridType.Wall); } w_counter++; } if (iEmptyPoints != null) { for (int i = 0; i < iEmptyPoints.Count; i++) { Vector2 myEmptyPoint = (Vector2)iEmptyPoints[i]; if (myCheckOneWayPath(iMap, myEmptyPoint)) { setMapVal(iMap, (int)myEmptyPoint[0], (int)myEmptyPoint[1], (int)GridType.Free); } } } return; }
public void myMakeWall(ArrayList iMap, Vector2 iPoint, myDividerType iTypeOfWall, ArrayList iEmptyPoints, Vector2 iFirstBoundary, Vector2 iEndBoundary) { bool flag_continue = true; int w_counter = 0;//wall counter int m_start_point = 0; int m_end_point = 0; int index_i_map = 0; int index_j_map = 0; while (flag_continue) { if (iTypeOfWall == myDividerType.X)//wall on X { m_start_point = (int) iFirstBoundary[1]; m_end_point = (int) iEndBoundary[1]; index_i_map = (int) iPoint[0]; index_j_map = m_start_point + w_counter; } else //wall on Y { m_start_point = (int) iFirstBoundary[0]; m_end_point = (int) iEndBoundary[0]; index_i_map = m_start_point + w_counter; index_j_map = (int) iPoint[1]; } if (m_start_point + w_counter > m_end_point) { flag_continue = false; } else { setMapVal(iMap, index_i_map, index_j_map, (int) GridType.Wall); } w_counter++; } if (iEmptyPoints != null) { for (int i = 0; i < iEmptyPoints.Count; i++) { Vector2 myEmptyPoint = (Vector2)iEmptyPoints[i]; if (myCheckOneWayPath(iMap, myEmptyPoint)) { setMapVal(iMap, (int) myEmptyPoint[0], (int) myEmptyPoint[1], (int) GridType.Free); } } } return; }
public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder, myDividedArea iLinkToFather, myDividerType iNextType) { m_divider_type = iNextType; mFirstBorder = iFirstBorder; mEndBorder = iEndBorder; mLinkToFather = iLinkToFather; //mLeftChild = null; //mRightChild = null; }
public myDividedArea(Vector2 iFirstBorder, Vector2 iEndBorder) { m_divider_type = myDividerType.X; mFirstBorder = iFirstBorder; mEndBorder = iEndBorder; mLinkToFather = null; //mLeftChild = null; //mRightChild = null; }