ええと、これはすでに尋ねられていることを知っていますし、たまたま最も簡単な方法も知っています。
今、私の質問は、より良い方法があるかどうかについてのあなたのアドバイスについてです。
コンポーネントが有効化または作成されたときに、メソッドを 1 回だけ呼び出すようにしたい。コンポーネントを作成できますが、無効のままにしておくことができます。その後、初めて有効にするときに、Init メソッドを呼び出す必要があります。コンポーネントは「添付」オブジェクトに含まれています。
だから私はコンポーネントを持っています
internal bool _runOnce;
それから私はMainObjectを持っています
List<Component> _listComp = new List<Component>();
void Update(){
foreach(Component c in _listComp){
if(!c.enable)continue;
if(c._runOnce){
c.Init();
c._runOnce = false;
}
c.Update();
}
}
私の主な懸念は、_runOnce のチェックが、各オブジェクトのすべてのコンポーネントのすべてのフレームで発生することです。私はそれが単なるブールチェックであり、何の価値もないことを知っていますが、これよりも優れたこの目的のためのパターンを誰かが知っているかどうかを尋ねているだけです.
ありがとう