package com.red.circle.game.fruit.core.lifecyclev2;

import com.red.circle.game.fruit.core.lifecycle.LifeCycle;

/**
 * 轮盘生命周期.
 *
 * @author pengliang on 2023/11/30
 */
public interface IRouletteControlLifeCycleV2 {

  /**
   * 开始.
   */
  void start();

  /**
   * 开奖.
   */
  void lotteryDraw();

  /**
   * 通知开奖结果.
   */
  void noticeLotteryDrawResult();

  /**
   * 完成.
   */
  void finish();

  /**
   * 每秒执行.
   */
  void countDown(int globalSecond);

  /**
   * 流程执行异常.
   */
  void error(LifeCycle lifeCycle, Throwable throwable);
}
