#include "Effects.h"

Effects::Effects(
  LEDRing& ledRing,
  Buzzer& buzzerModule)
  : led(ledRing),
    buzzer(buzzerModule) {
}

void Effects::begin() {
}

void Effects::update() {
  led.update();
  buzzer.update();
}

/////////////////////////////////////////////////

void Effects::startup() {
  led.wakeAnimation();

  buzzer.startup();
}

/////////////////////////////////////////////////

void Effects::wake() {
  led.wakeAnimation();

  buzzer.focusStart();
}

/////////////////////////////////////////////////

void Effects::pickup() {
  led.pickupEffect();

  buzzer.pickup();
}

/////////////////////////////////////////////////

void Effects::warning() {
  led.warningEffect();

  buzzer.warning();
}

/////////////////////////////////////////////////

void Effects::completion() {
  led.completionEffect();

  buzzer.complete();
}

/////////////////////////////////////////////////

void Effects::idle() {
  led.idle();
}

/////////////////////////////////////////////////

void Effects::progress(float percent) {
  led.progress(percent);
}