Ejemplo n.º 1
0
        protected override void OnDisable()
        {
            if (linkedObject != null)
            {
                linkedObject.InteractableObjectUsed   -= InteractableObjectUsed;
                linkedObject.InteractableObjectUnused -= InteractableObjectUnused;
            }

            SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
            SGPushEndedEvent.UnregisterListener(OnSGPushEnded);
            base.InstantClearState();
            base.OnDisable();
        }
        //-----------------------------------------------------------------
        //                                NOT USED
        //-----------------------------------------------------------------
        protected virtual void InteractableObjectUnused(object sender, InteractableObjectEventArgs e)
        {
            if (isUsed && sGPushStartedEvent.HasFired)
            {
                OnSGPushCanceled();
            }

            isUsed = false;

            SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
            SGPushChangedEvent.UnregisterListener(OnSGPushChanged);
            SGPushEndedEvent.UnregisterListener(OnSGPushEnded);

            //log.InfoMS("<Color=blue>\n---Unused---</Color>");
            frameOffset = currentFrame;
            if (rewindOnRelease)
            {
                RewindAnimation();
            }
            SetTimelineSpeed(1);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Additional methods can be called here during button state changes. e.g. play a sound.
        /// The listeners for the Skeleton Gestures are managed here.
        /// </summary>
        /// <param name="state">the standard button selection states.</param>
        /// <param name="instant">will use fade tiem or transition instantly.</param>
        protected override void DoStateTransition(SelectionState state, bool instant)
        {
            //log.InfoMS($"<Color=cyan>state transition </Color> <b>{state}</b> <Color=cyan>of </Color><Color=green>{gameObject.name}</Color>");

            switch (state)
            {
            case SelectionState.Normal:
                SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
                SGPushEndedEvent.UnregisterListener(OnSGPushEnded);
                break;

            case SelectionState.Highlighted:
                SGPushStartedEvent.RegisterListener(OnSGPushStarted);
                break;

            case SelectionState.Pressed:
                SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
                SGPushEndedEvent.RegisterListener(OnSGPushEnded);
                break;

            case SelectionState.Selected:
                break;

            case SelectionState.Disabled:
                SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
                SGPushEndedEvent.UnregisterListener(OnSGPushEnded);
                break;

            default:
                SGPushStartedEvent.UnregisterListener(OnSGPushStarted);
                SGPushEndedEvent.UnregisterListener(OnSGPushEnded);
                break;
            }

            base.DoStateTransition(state, instant);
        }