onBattleStarted method

void onBattleStarted(
  1. TUIBattleInfo battleInfo
)

Implementation

void onBattleStarted(TUIBattleInfo battleInfo) {
  battleInfo.config.duration = battleInfo.config.duration +
      battleInfo.startTime -
      (DateTime.now().millisecondsSinceEpoch ~/ 1000);

  battleState.battleId.value = battleInfo.battleId;
  battleState.isBattleRunning.value = true;
  battleState.isInWaiting.value = false;
  battleState.isShowingStartWidget = true;
  battleState.battleConfig = BattleConfig(
      duration: battleInfo.config.duration,
      needResponse: battleInfo.config.needResponse,
      extensionInfo: battleInfo.config.extensionInfo);
  battleState.durationCountDown.value = battleInfo.config.duration;

  _startCountDown();
  Future.delayed(const Duration(milliseconds: 500), () {
    battleState.isShowingStartWidget = false;
  });

  final battleUsers = battleInfo.inviteeList
      .map((battleUser) => BattleUser.fromTUIBattleUser(battleUser))
      .toList();
  battleUsers.add(BattleUser.fromTUIBattleUser(battleInfo.inviter));
  _sortedBattleUsersByScore(battleUsers);
}