void LockIndexBuffer( Sandbox.Mesh/IndexBufferLockHandler handler )
void LockIndexBuffer( int elementCount, Sandbox.Mesh/IndexBufferLockHandler handler )
void LockIndexBuffer( int elementOffset, int elementCount, Sandbox.Mesh/IndexBufferLockHandler handler )

book_4_sparkGenerated
code_blocksInput

Description

The LockIndexBuffer method is used to lock the index buffer of a Mesh object, allowing for safe modifications to the buffer's data. This method takes a delegate of type IndexBufferLockHandler as a parameter, which is used to perform operations on the locked buffer.

Usage

To use the LockIndexBuffer method, you need to provide a delegate that matches the IndexBufferLockHandler signature. This delegate will be called with a span of integers representing the index buffer data, allowing you to read or modify the indices.

Ensure that any modifications to the index buffer are done within the scope of the provided handler to maintain data integrity and avoid concurrency issues.

Example

// Example of using LockIndexBuffer
Mesh mesh = new Mesh();

// Lock the index buffer and modify it
mesh.LockIndexBuffer((Span<int> indices) =>
{
    // Example modification: Set all indices to zero
    for (int i = 0; i < indices.Length; i++)
    {
        indices[i] = 0;
    }
});