public void Advance(ComboDirection direction) { if (!IsActive) { StartCombo(); } else { _nextItem = _nextItem.Next(direction); Console.WriteLine(IsActive ? "Combo advanced." : "Combo finished."); } }
public ComboItem Next(ComboDirection direction) { switch (direction) { case ComboDirection.Back: return(NullItem); case ComboDirection.Forward: return(Forward); case ComboDirection.Up: return(Up); case ComboDirection.Down: return(Down); default: throw new ArgumentException($"Unsupported direction {direction}!"); } }