Buenas,
Creo que te convendría revisar algo más sobre OO (orientación a objetos) y sobre C# en concreto.
Te dejo como sería el código, aunque te aviso que en esas clases habría que mejorar ciertas cosas, por ejemplo, usar propiedades para acceder a los miembros, no exponer directamente una variable pública.
Código C#:
Ver originalpublic class Caracteristicas : MonoBehaviour {
//ESCENA CARACTERISTICAS
public DatosPersonaje caractDatosPer;
public InformacionJugador caractInformacionJug;
//Variables
public string[] posicion = new string[] {""};
public int recPosicion;
public int posicionSwitch = 0;
void Start() {
caractDatosPer = new DatosPersonaje();
caractInformacionJug = new InformacionJugador();
}
void Update() {
}
void OnGUI () {
posicion[recPosicion] = this.caractDatosPer.datosPersonaje.demarcacion[this.caractDatosPer.datosPersonaje.indiceDemarcacion];//1ª Prueba
posicionSwitch = recPosicion;//2ª Prueba
posicionSwitch = this.caractDatosPer.datosPersonaje.indiceDemarcacion;//3ª Prueba
}
}
Aun así, para entender mejor porque se realizan así las cosas tienes que estudiar el lenguaje, porque si te atascas en algo tan básico, se te van a hacer muy complicadas otras cosas más difíciles.
Un saludo.