/*           INFINITY CODE           */
/*     https://infinity-code.com     */

using InfinityCode.uPano;

namespace HutongGames.PlayMaker.Actions.uPano
{
    [ActionCategory(uPanoCategories.PANORAMA)]
    [Tooltip("Handle Panorama Global Events")]
    public class HandlePanoramaGlobalEvents : FsmStateAction
    {
        public FsmEvent OnPanoDestroy;
        public FsmEvent OnPanoEnabled;

        public override void Reset()
        {
            OnPanoDestroy = null;
            OnPanoEnabled = null;
        }

        public override void OnEnter()
        {
            DoEnter();
            Finish();
        }

        private void DoEnter()
        {
            if (OnPanoDestroy != null) Pano.OnPanoDestroy += delegate { Fsm.Event(OnPanoDestroy); };
            if (OnPanoEnabled != null) Pano.OnPanoEnabled += delegate { Fsm.Event(OnPanoEnabled); };
        }
    }
}