private void InitDir() { m_dir = new DIRPOINT[4]; m_dir[0] = new DIRPOINT(1, 0); m_dir[1] = new DIRPOINT(-1, 0); m_dir[2] = new DIRPOINT(0, 1); m_dir[3] = new DIRPOINT(0, -1); }
private List <Panel> GetNeighbor(Panel panel) { List <Panel> rtnList = new List <Panel> (); if (panel.Passable == false) { return(rtnList); } rtnList.Capacity = m_dir.Length; for (int i = 0; i < m_dir.Length; i++) { DIRPOINT dirTmp = new DIRPOINT(m_dir[i].nX + panel.GetPoint().nX, m_dir[i].nZ + panel.GetPoint().nZ); if (dirTmp.nX >= -m_nSizeX / 2 && dirTmp.nX <= m_nSizeX / 2 && dirTmp.nZ >= -m_nSizeZ / 2 && dirTmp.nZ <= m_nSizeZ / 2) { rtnList.Add(GetMapPanel(dirTmp.nX, dirTmp.nZ)); } } return(rtnList); }