マイキュークラス。C#の異なるアクションのキュー
void CreateCube()
{
// doSomething..
}
void SetPosition(Vector3 pos)
{
// doSomething..
}
私はこれを使用することができます:
public class JobManager : MonoBehaviour {
private Queue<Action> queue;
public void AddAction(Action action)
{
queue.Enqueue(action);
}
....
は、私は2つの方法を持っている
JobManager.Instance.AddAction(CreateCube);
をしかし、これではありません:私はキューを定義することができますどのように
JobManager.Instance.AddAction(SetPosition);
すべての異なるアクション?または、どのように私は別のアクションを追加できますか?
編集:
JobManagerはこのようなアクションを呼び出します。
IEnumerator ActionControl(){
while (true){
if (currentQueue != null){
while (true){
currentQueue();
yield return null;
currentQueue = null;
break;
}
}
yield return null;
}
}
private void Update(){
if (queue.Count > 0 && currentQueue == null){
currentQueue = queue.Dequeue();
}
}
私が本当に望むのは、どのメソッドも1つのキューに配置できることです。 (パラメータ付きかどうか)次に、それらを順番に実行します。それは可能ですか?ここ
は 'SetPosition'は何とかそれを渡すためにあなたが持っている引数を必要としています。一つの方法は、ラムダを使用することです: 'AddAction(()=> SetPosition(POS))を' – Sinatr
あなたは可能性があるとします。どのように 'SetPosition'をアクションの待ち行列から呼び出すことを計画していますか?引数が必要です。あなたはどうやって議論をパスしますか? –
私の質問を編集し、 "AddAction(()=> SetPosition(pos))"を試します。 – sadrag