Я рандомно вызываю методы при старте. Вопрос как их удалять. Я хочу чтоб они вызвались только один раз и больше не появлялись.
И вот с удалением чтото путаю. Я делал удаление в каждом методе. но тогда они все удалялись заранее. куда нужн вставлять это удаление?
Синтаксис:
Используется csharp
List<System.Action> actions = new List<System.Action>();
void Start(){
actions.Add (R1);
actions.Add (R2);
actions.Add (R3);
actions.Add (R4);
InvokeRepeating ("Loads", 0f, 5f);
}
void Loads(){
int r = Random.Range(0, 5);
actions[r]();
}
public void R1(){
Instantiate (obj1, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
}
public void R2(){
Instantiate (obj2, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
//actions.RemoveAt (1); //вот здесь делаю удаление , но не работает
}
public void R3(){
Instantiate (obj3, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
//actions.RemoveAt (2);
}
}
void Start(){
actions.Add (R1);
actions.Add (R2);
actions.Add (R3);
actions.Add (R4);
InvokeRepeating ("Loads", 0f, 5f);
}
void Loads(){
int r = Random.Range(0, 5);
actions[r]();
}
public void R1(){
Instantiate (obj1, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
}
public void R2(){
Instantiate (obj2, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
//actions.RemoveAt (1); //вот здесь делаю удаление , но не работает
}
public void R3(){
Instantiate (obj3, new Vector3 (0, 10, 0), Quaternion.identity, Canvas1.transform);
//actions.RemoveAt (2);
}
}