# IPauseReceiver

グラフが一時停止する際に呼び出すメソッドを実装できます。

## グラフの一時停止について

- `LogicToolkit.LogicPlayerBase`の`Pause()`メソッドで一時停止します。
- `LogicToolkit.LogicPlayerBase`の`Resume()`メソッドで再開します。
- また`LogicToolkit.LogicPlayerBase`の`isActiveAndEnabled`プロパティとも連動してポーズが行われます。

## スクリプトの書き方

- `LogicToolkit.IPauseReceiver`を各種NodeComponentを継承した型に実装する。
- `public void OnPause(bool pause)`を実装する。

## コード例

     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
    27
    28
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using LogicToolkit;

    [System.Serializable]
    public class PauseExample : ServiceComponent, IPauseReceiver
    {
        private Animator animator;

        // OnActivated is called when activated.
        protected override void OnActivated()
        {
            animator = Player.GetComponent<Animator>();
        }

        public void OnPause(bool pause)
        {
            if (pause)
            {
                animator.speed = 0f;
            }
            else
            {
                animator.speed = 1f;
            }
        }
    }

この例では、Serviceノードなどでこのコンポーネントを使用していると、グラフのポーズに連動してAnimatorが一時停止します。