Exemplo n.º 1
0
    } // protected bool resetGlobal_NavigationCells()

    public void LinkTriCollectorToAllBase(ref CBaseTowerCollector managerBaseTower_ref,
                                          ref CBaseCoreCollector managerBaseCore_ref,
                                          ref CBaseCoreSubCollector managerBaseCoreSub_ref,
                                          ref CBaseStartCollector managerBaseStart_ref,
                                          ref CBaseBlockCollector managerBaseBlock_ref,
                                          CTriCollector triCollector)
    {
        managerBaseTower_ref.setTrisallToBase(triCollector.getTris());
        managerBaseCore_ref.setTrisallToBase(triCollector.getTris());
        managerBaseCoreSub_ref.setTrisallToBase(triCollector.getTris());
        managerBaseStart_ref.setTrisallToBase(triCollector.getTris());
        managerBaseBlock_ref.setTrisallToBase(triCollector.getTris());
    }
Exemplo n.º 2
0
    public bool resetGlobal_NavigationCells(CTriCollector triCollector,
                                            ref CNaviMesh navigationMesh)
    {
        List <CTRI> listTris;

        triCollector.getTris(out listTris);  // TriCollector에서 데이터 리스트를 얻어옴

        navigationMesh.navigation.ConstructNavi(listTris);
        bool bResultMapping = navigationMesh.navigation.mappingNavigation(triCollector.m_listTris_naviGoal,
                                                                          triCollector.m_listTris_naviBlock,
                                                                          triCollector.m_listTris_naviBlockRoad,
                                                                          triCollector.m_listTris_naviStart,
                                                                          true);

        if (true == bResultMapping)
        {
            m_toolmoduleNavimesh.drawStartCellToGoal(m_meshNavigation_global.navigation, m_triCollector);
        }

        triCollector._bReadyToExecuteBuildup_NAVI = false;

        if (triCollector.getCount_NaviFunction_Tris() > 0)
        {
            m_toolmoduleNavimesh.drawAllTri_eachFunctional(m_meshNavigation_global.triCollector, false);
        }

        triCollector.setExtractAdjCells(navigationMesh.navigation);

        return(true);
    } // protected bool resetGlobal_NavigationCells()
    //@ Triangle Collection Composition all renderLine of triangles.
    public void _drawRenderLine_AllTris_Debug(CTriCollector triCollector)
    {
        if (null == m_drawRenderLine_triCollector)
        {
            return;
        }

        List <CTRI> listTriangle = triCollector.getTris();

        if (listTriangle.Count < 1)
        {
            return;
        }

        if (m_iSequenceRenderLine_forDebug >= 0)
        {
            return;
        }


        int iLengthMapping = listTriangle.Count * 3;

        Vector3[] arrVertexmapping = new Vector3[iLengthMapping];

        for (int iSeqTri = 0; iSeqTri < listTriangle.Count; ++iSeqTri)
        {
            CTRI triCurr = listTriangle[iSeqTri];
            for (int iPnt = 0; iPnt < 3; ++iPnt)
            {
                int     iSeqPnt   = iSeqTri * 3 + iPnt;
                Vector3 v3PntCurr = triCurr._arrv3PT[iPnt];
                arrVertexmapping[iSeqPnt] = v3PntCurr;
            }
        }

        m_iSequenceRenderLine_forDebug = m_drawRenderLine_triCollector.DrawNewLine_user(arrVertexmapping);
    } // public void _drawRenderLine_AllTris_Debug()