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); }