Example #1
0
        /// <summary>
        /// Irá fechar se estiver no estado Abrir, alterar o estado e lançar o evento.
        /// </summary>
        public virtual void Close()
        {
            if (State != OpenableState.Opened)
            {
                return;
            }

            State = OpenableState.Closing;
            onClosing.Invoke();
        }
Example #2
0
        protected virtual void Opened()
        {
            State = OpenableState.Opened;

            if (_callback != null)
            {
                _callback();
            }
            _callback = null;

            onOpened.Invoke();
        }
Example #3
0
        /// <summary>
        /// Irá abrir estando no Fechada, irá alterar o estado e lançar o evento.
        /// </summary>
        public virtual void Open()
        {
            if (State != OpenableState.Closed)
            {
                return;
            }

            if (DeactiveOnClosed)
            {
                gameObject.SetActive(true);
            }

            State = OpenableState.Opening;
            onOpening.Invoke();
        }
Example #4
0
        protected virtual void Closed()
        {
            State = OpenableState.Closed;

            if (_callback != null)
            {
                _callback();
            }
            _callback = null;

            onClosed.Invoke();

            if (DeactiveOnClosed)
            {
                gameObject.SetActive(false);
            }
        }
Example #5
0
 /// <summary>
 /// Forçar estado aberto lançando evento.
 /// </summary>
 public virtual void HardOpen()
 {
     State = OpenableState.Opening;
     onOpening.Invoke();
 }
Example #6
0
 /// <summary>
 /// Forçar estado fechado lançando evento.
 /// </summary>
 public virtual void HardClose()
 {
     State = OpenableState.Closing;
     onClosing.Invoke();
 }