public void Init()
        {
            m_Verts = new UndoCont <RVLst>();
            m_Verts.Init(new RVLst());
            m_Verts.evtContUndo += _OnUndoRedo;
            m_Verts.evtContRedo += _OnUndoRedo;

            m_Edges = new UndoCont <VELst>();
            m_Edges.Init(new VELst());
            m_Edges.evtContUndo += _OnUndoRedo;
            m_Edges.evtContRedo += _OnUndoRedo;

            m_Tris = new UndoCont <VFLst>();
            m_Tris.Init(new VFLst());
            m_Tris.evtContUndo += _OnUndoRedo;
            m_Tris.evtContRedo += _OnUndoRedo;
        }
        public void Fini()
        {
            m_Tris.evtContUndo -= _OnUndoRedo;
            m_Tris.evtContRedo -= _OnUndoRedo;
            m_Tris.Fini();
            m_Tris = null;
            //ScriptableObject.DestroyImmediate(m_Tris);

            m_Edges.evtContUndo -= _OnUndoRedo;
            m_Edges.evtContRedo -= _OnUndoRedo;
            m_Edges.Fini();
            m_Edges = null;
            //ScriptableObject.DestroyImmediate(m_Edges);

            m_Verts.evtContUndo -= _OnUndoRedo;
            m_Verts.evtContRedo -= _OnUndoRedo;
            m_Verts.Fini();
            m_Verts = null;
            //ScriptableObject.DestroyImmediate(m_Verts);
        }