Hola a todos, me gustaría saber de que forma puedo conseguir asignar variables en el inspector y estas hacerlas estaticas.
Se que esta la manera de crear una variables publica y despues crear una statica asignandole la publica, pero eso me parece muy engorroso.
Otra forma que vi era usando un Singleton, pero de la forma en que lo e usado me elimina los valores que le introduzco por el inspector.
El singleton es el siguiente:
using UnityEngine;
using System.Collections;
public class Enemigos : MonoBehaviour {
//Variables que quiero acceder desde otros scripts
public GameObject[] tiposEnemigos;
public int nivelMin;
public int nivelMax;
public GameObject[] posicionEnemigo;
private static Enemigos v;
public static Enemigos V
{
get
{
if (v == null)
{
GameObject mySingletonObject = new GameObject("MySingletonObject");
DontDestroyOnLoad(mySingletonObject);
v = mySingletonObject.AddComponent<Enemigos>();
}
return v;
}
}
}
Mi intención es acceder desde cualquier script a las primeras variables publicas, pero a su vez estas variables las defino en el inspector.
Accedo a ellos de la siguiente forma:
Enemigos.V.nivelMin
Gracias a todos por vuestra ayuda.
Se que esta la manera de crear una variables publica y despues crear una statica asignandole la publica, pero eso me parece muy engorroso.
Otra forma que vi era usando un Singleton, pero de la forma en que lo e usado me elimina los valores que le introduzco por el inspector.
El singleton es el siguiente:
using UnityEngine;
using System.Collections;
public class Enemigos : MonoBehaviour {
//Variables que quiero acceder desde otros scripts
public GameObject[] tiposEnemigos;
public int nivelMin;
public int nivelMax;
public GameObject[] posicionEnemigo;
private static Enemigos v;
public static Enemigos V
{
get
{
if (v == null)
{
GameObject mySingletonObject = new GameObject("MySingletonObject");
DontDestroyOnLoad(mySingletonObject);
v = mySingletonObject.AddComponent<Enemigos>();
}
return v;
}
}
}
Mi intención es acceder desde cualquier script a las primeras variables publicas, pero a su vez estas variables las defino en el inspector.
Accedo a ellos de la siguiente forma:
Enemigos.V.nivelMin
Gracias a todos por vuestra ayuda.