Пример #1
0
 public void MarkConversionDone()
 {
     m_converter = null;
     m_data      = null;
     if (m_currentCallback != null)
     {
         m_currentCallback();
     }
 }
Пример #2
0
 public bool Stop()
 {
     if (m_converter != null)
     {
         m_converter.shouldAbort = true;
         m_converter             = null;
         return(true);
     }
     return(false);
 }
Пример #3
0
    public void UndoAction(MeshManager manager, DeltaDoneDelegate onDone)
    {
        blobDelta.UndoAction(manager, onDone);

        if (m_converter != null)
        {
            m_converter.shouldAbort = true;
            m_converter             = null;
        }
    }
Пример #4
0
    public IPatternConverter CreateConverter(MeshManager manager, Vector3 position, Quaternion rotation,
                                             Vector3 scale, byte blockMat, Material meshMat)
    {
        GameObject go = new GameObject("MeshPatternConverter");

        go.transform.position   = position;
        go.transform.rotation   = rotation;
        go.transform.localScale = scale;

        Scheduler.StartCoroutine(CreateMeshObject(
                                     go, faces, meshMat, LayerMask.NameToLayer("Voxel"), (blockMat != MeshManager.kVoxelSubtract)));
        MeshPatternConverter pc = go.AddComponent <MeshPatternConverter>();

        pc.Init(this, manager, position, rotation, scale, blockMat, meshMat);

        return(pc);
    }
Пример #5
0
    public void RedoAction(MeshManager manager, DeltaDoneDelegate onDone)
    {
        if (m_data == null)
        {
            blobDelta.RedoAction(manager, onDone);
            return;
        }

        GameObject go = new GameObject("MeshPatternConverter");

        m_converter = go.AddComponent <MeshPatternConverter>();

        m_converter.Init(manager, m_data, this);

        Scheduler.StartCoroutine(MeshPattern.CreateMeshObject(go, m_data.faces, m_data.meshMat, LayerMask.NameToLayer("Voxel"),
                                                              (m_data.material != MeshManager.kVoxelSubtract)));

        m_currentCallback = onDone;
        blobDelta.RedoAction(manager, RestartConverter);
    }
Пример #6
0
 public MeshPatternDelta(MeshPatternConverter converter, MeshPatternConverter.Data data, int chunkSize)
 {
     blobDelta   = new BlobDelta(chunkSize);
     m_converter = converter;
     m_data      = data;
 }