私はコードを最適化し、何か新しいことを学ぼうとする目的で、C#で呼び出す関数にコードの行を渡すことを望んでいます。私は自分のコードで示したように、文字列、整数、浮動小数点数、ブール値の使用に慣れています。関数の引数としてコード行を渡す
考えられるのは、スクリプトを停止してスクリプトを再開するボタンクリックで関数を呼び出すことです。関数がなければ、このコードは動作しています:
public void PlayOnClick()
{
if(count != 1)
{
m_animator.GetComponent<Animator>().Play("Scale");
d_animator.GetComponent<Animator>().Play("CloseUp");
((MovieTexture)MovieOne.GetComponent<Renderer>().material.mainTexture).Play();
Dialyser.GetComponent<RotationByMouseDrag>().enabled = false;
count = 1;
}
else
{
m_animator.GetComponent<Animator>().Play("Scale");
d_animator.GetComponent<Animator>().Play("ScaleDown");
((MovieTexture)MovieOne.GetComponent<Renderer>().material.mainTexture).Stop();
Dialyser.GetComponent<RotationByMouseDrag>().enabled = true;
count = 0;
}
}
しかし、私はこれを短縮することができると信じています。私はこれまでのところ、これを持っている:機能CIで
void Lock(string A, string B, ? C, bool D, int E)
{
m_animator.GetComponent<Animator>().Play(A);
d_animator.GetComponent<Animator>().Play(B);
C;
Dialyser.GetComponent<RotationByMouseDrag>().enabled = D;
count = E;
}
は一度押すと次の行を渡したいでしょう:
((MovieTexture)MovieOne.GetComponent<Renderer>().material.mainTexture).Stop();
そしてもう一度押すと、それはこれに変更があります。
((MovieTexture)MovieOne.GetComponent<Renderer>().material.mainTexture).Play();
私はevalに出くわしました - しかし、私はそれがjavascriptのためであり、非常にプロセッサ集中的であると信じています。私は文字列として行を解析するのを見てきました。
私は現在、検索と試行で争いに近づいています。誰かが私のためにこれについていくつかの光を当てることができますか?あなたがAction
タイプまたはカスタムデリゲートを渡す必要があり
ありがとう - これは私が後にしたものでした。とても有難い。 –