Returns the element at the specified index in the fixed buffer.
See Also: isFixedBuffer, fixedBufferSize.
using UnityEngine;
using UnityEditor;
[System.Serializable]
public unsafe struct TestStruct
{
public fixed int intBuffer[7];
}
public unsafe class TestScript : MonoBehaviour
{
public TestStruct testStruct;
void Start()
{
fixed(int* buffer = testStruct.intBuffer)
{
for (int i = 0; i < 7; ++i)
buffer[i] = 3 + i;
}
var so = new SerializedObject(this);
var prop = so.FindProperty("testStruct.intBuffer");
Debug.Log("isFixedBuffer = " + prop.isFixedBuffer);
Debug.Log("fixedBufferSize = " + prop.fixedBufferSize);
var elemProp = prop.GetFixedBufferElementAtIndex(2);
Debug.Log("GetFixedBufferElementAtIndex(2) = " + elemProp.intValue);
elemProp.intValue = 42;
so.ApplyModifiedProperties();
fixed(int* buffer = testStruct.intBuffer)
{
Debug.Log("intBuffer[2] = " + buffer[2]);
}
}
}