# IInitializeReceiver

グラフが初期化される際に呼び出すメソッドを実装できます。
関数グラフの場合は、同じノードで同じ関数グラフを繰り返し実行する場合でも再生開始前に毎回呼ばれる点にご注意ください。

## スクリプトの書き方

- `LogicToolkit.IInitializeReceiver`を各種NodeComponentを継承した型に実装する。
- `public void OnInitialize()`を実装する。

## コード例

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using LogicToolkit;

    [System.Serializable]
    public class InitializeExample : ActionComponent, IInitializeReceiver
    {
        private Rigidbody rigidbody;

        [SerializeField]
        private InputField<Vector3> force;

        public void OnInitialize()
        {
            rigidbody = Player.GetComponent<Rigidbody>();
        }

        protected override void OnAction()
        {
            if (rigidbody != null)
            {
                rigidbody.AddForce(force.Value, ForceMode.Impulse);
            }
        }
    }

この例では、グラフの再生オブジェクトに追加しているRigidbodyコンポーネントを予め初期化時に取得しておき、実行する時には取得してあるRigidbodyに力を加えます。