I have never tried doing arrays with negative indexes, but, is such possible? Would it work like any normal array?
It's possible to create a non zero based Array, using something like this:
var lengths:int[] = new int[1];
var lowerBounds:int[] = new int[1];
lowerBounds[0] = -1;
lengths[0] = 3;
var array:System.Array = System.Array.CreateInstance(Vector3,lengths,lowerBounds);
var vector3Array:Vector3[] = new Array(array).ToBuiltin(Vector3);
Most of the array methods don't support negative indexes though, for example you wouldn't be able to use:
vector3Array[-1] = new Vector3(0.0f,0.0f,0.0f);
But you could use:
vector3Array.GetValue(-1);
vector3Array.SetValue(new Vector3(0.0f,0.0f,0.0f),-1);
I don't see why it wont work. But I'm no expert