예제 #1
0
        private void writeFile(CNavigation cn)
        {
            StreamWriter sw = new StreamWriter(FileName, true);
            string       r  = "起点:" + cn.startPosition + "\t终点:" + cn.endPosition + "\t记录时间:" + cn.recordTime;

            sw.WriteLine(r);
            sw.Close();
        }
예제 #2
0
        private void getDataForHttp(string stantPoint, string endPoint)
        {
            CNavigation navigation = new CNavigation();

            navigation.startPosition = stantPoint;
            navigation.endPosition   = endPoint;
            navigation.recordTime    = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
            writeFile(navigation);
        }
예제 #3
0
    public void DestructNaviMesh()
    {
        _navigation.DestructNavi();
        _splinecurve.destructSplinecurveAll();
        _triCollector.DestructAllTris();

        _triCollector = null;
        _navigation   = null;
        _splinecurve  = null;
    }
예제 #4
0
    //@ Process
    public void InitializeNaviMesh()
    {
        _navigation   = new CNavigation();
        _triCollector = new CTriCollector();
        _splinecurve  = new CSplineManufacturer();

        _navigation.InitializeNavi();
        _triCollector.InitTriCollector();
        _splinecurve.InitSplieCurve();

        m_meshGeometry = GetComponent <MeshFilter>().mesh;

        m_arrVertex = m_meshGeometry.vertices;
        m_arrTri    = m_meshGeometry.triangles;
    }
    } // private void drawStartCellToGoal()

    public void drawLevelAllCells(CNavigation navigation, bool bDrawTextIdxAll)
    {
        m_bDrawLevelCellsAll_ = bDrawTextIdxAll;

        if (true == m_bDrawLevelCellsAll_)
        {
            if (null == navigation.m_arrNavicells)
            {
                return;
            }

            SetDrawCellsIndexAll(navigation.m_arrNavicells);
        }
        else
        {
            m_drawText3D_Levels.clear3DTextAll();
        }
    }
    //@ For DEBUG, Set Draw way StartCell to Goal
    public void drawStartCellToGoal(CNavigation navigation, CTriCollector tricollector)
    {
        UndrawStartCellToGoal();
        _SetundrawNaviCells_Text3D();

        if (null == navigation.m_arrNavicells)
        {
            return;
        }

        bool bResultOrganized = navigation.collectWay_allStartsToGoal(tricollector, ref m_arrSequenceCell);

        if (false == bResultOrganized)
        {
            return;
        }

        CNAVICELL[] arrNavicells = navigation.m_arrNavicells;

        List <int> listSeqTri      = getListSequenceOrganized();
        int        iBasisUniqueNum = m_iBasisUniqueNum_RenderMesh;

        for (int iTriAdj = 0; iTriAdj < listSeqTri.Count; ++iTriAdj)
        {
            int  iSeqUniqueNum = iBasisUniqueNum + listSeqTri[iTriAdj];
            CTRI triAdj_       = arrNavicells[listSeqTri[iTriAdj]].trilinkcell;

            m_drawRenderMesh_navi.DrawNewRendermesh(iSeqUniqueNum,
                                                    triAdj_._arrv3PT,
                                                    Color.Lerp(Color.gray, Color.black, 0.5f),
                                                    CMATH.FEPSILON_F3 + CMATH.FEPSILON_F3,
                                                    CDrawRenderMesh.scaleadjust_render_070);
        }

        _drawText3D_SeqCells(tricollector, tricollector.m_listTris_naviStart);
    } // private void drawStartCellToGoal()
예제 #7
0
        /// <summary>
        /// 以字符串的形式返回到前端
        /// </summary>
        /// <returns></returns>
        public string readFile()
        {
            CNavigation  navigation = new CNavigation();
            FileStream   fs         = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Read);
            StreamReader sr         = new StreamReader(fs, Encoding.UTF8);

            string content = sr.ReadLine();

            while (!string.IsNullOrEmpty(content))
            {
                try
                {
                    navigation = new CNavigation();
                    navigation.startPosition = content.Substring(content.IndexOf("起点:") + 3, content.IndexOf("终点:") - 3).Trim();
                    navigation.endPosition   = content.Substring(content.IndexOf("终点:") + 3, (content.IndexOf("记录时间:") - content.IndexOf("终点:") - 3)).Trim();
                    navigation.recordTime    = content.Substring(content.IndexOf("记录时间:") + 5).Trim();
                    Nlist.Add(navigation);
                }
                catch (Exception)
                {
                }
                finally
                {
                    content = sr.ReadLine();
                }
            }
            fs.Close();
            sr.Close();
            string result = "";

            foreach (var n in Nlist)
            {
                result = result + n.recordTime + "\t" + n.startPosition + "--->" + n.endPosition + ";";
            }
            return(result);
        }
예제 #8
0
    public bool setExtractAdjCells(CNavigation navi)
    {
        m_arrAdjTris = null;

        return(extractNavicellToAdj(m_listTris, navi.getNaviCellsAll(), ref m_arrAdjTris));
    }