- Home /
Trying to get Vector3 Array to sort in order of Y values - C sharp
I am currently in the process of converting a project from javascript into C sharp, this is the only problem I have had so far. Here is the code I have:
public class SpawnObjects : MonoBehaviour {
public int numberOfHills = 10;
private Vector3[] aPos;
void Start() {
aPos = new Vector3[numberOfHills];
Array.Sort(aPos, delegate(Vector3 first, Vector3 second){
return first.y.CompareTo(second.y);
});
And the error I recieve: error CS0103: The name Array' does not exist in the current context*** Also if I change the code to: public class SpawnObjects : MonoBehaviour { public int numberOfHills = 10; private Vector3[] aPos; void Start() { aPos = new Vector3[numberOfHills]; aPos.Sort(aPos, delegate(Vector3 first, Vector3 second){ return first.y.CompareTo(second.y); }); I recieve: > ***error CS0176: Static member
System.Array.Sort (UnityEngine.Vector3[], System.Comparison )' cannot be accessed with an instance reference, qualify it with a type name instead
Can anyone shed some light on whats happening? Cheers.
Answer by Peter G · Sep 05, 2011 at 03:38 PM
I don't know what namespaces you are using, but Array exists in the System
namespace and that is not included by default. You might just need to add:
using System;
to the top of your script. Or you can include the namespace when you call Sort()
System.Array.Sort();