// Called each frame while the state is set to Play
 public override void PrepareFrame(Playable playable, FrameData info)
 {
     if (m_prepareFrameEventHandle != null)
     {
         var args = new PlayableBehaviourEventArgs();
         args.m_playable = playable;
         args.m_info     = info;
         m_prepareFrameEventHandle(this, args);
     }
 }
 // Called when the owning graph stops playing
 public override void OnGraphStop(Playable playable)
 {
     // Debug.Log("GraphStop");
     if (m_graphStopEventHandle != null)
     {
         var args = new PlayableBehaviourEventArgs();
         args.m_playable = playable;
         m_graphStopEventHandle(this, args);
     }
 }
 // Called when the state of the playable is set to Paused
 public override void OnBehaviourPause(Playable playable, FrameData info)
 {
     //Debug.Log("BehaviourPause");
     if (m_behaviourPauseEventHandle != null)
     {
         var args = new PlayableBehaviourEventArgs();
         args.m_playable = playable;
         args.m_info     = info;
         m_behaviourPauseEventHandle(this, args);
     }
 }