You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
514 B

2 years ago
2 years ago
2 years ago
  1. package lucifer3
  2. import (
  3. "git.aiterp.net/lucifer3/server/device"
  4. "time"
  5. )
  6. type Effect interface {
  7. // State uses three values:
  8. // index: The position of this ID;
  9. // len: The total length of the effect's IDs;
  10. // round: Increases by one for each run of the effect if Frequency > 0;
  11. State(index, len, round int) device.State
  12. Frequency() time.Duration
  13. EffectDescription() string
  14. }
  15. type VariableEffect interface {
  16. Effect
  17. VariableName() string
  18. VariableState(index, len int, value float64) device.State
  19. }