private void OnBuffEnded()
 {
     m_currentProcesserTimes++;
     if (m_currentProcesserTimes >= info.layCount ||
         info.remainingTime < 0 ||
         info.layCount <= 0)
     {
         OnBuffEffectEnded?.Invoke(this);
     }
     else
     {
         m_processer.Start(OnBuffEnded);
     }
 }
        private void ProcessCommands()
        {
            if (m_processer == null)
            {
                m_processer = new Processer <GameCommandBase>(info.buff.Commands);
            }

            if (info.remainingTime < 0 || info.layCount <= 0)
            {
                OnBuffEffectEnded?.Invoke(this);
                return;
            }

            OnBuffEffectPreStart?.Invoke(this);

            m_currentProcesserTimes = 0;
            m_processer.Start(OnBuffEnded);
        }