TGD-52
This commit is contained in:
parent
29dc437cc8
commit
98fe79c396
5 changed files with 26 additions and 14 deletions
|
|
@ -5,6 +5,7 @@
|
|||
<h4>Game</h4>
|
||||
<button class="btn btn-danger" (click)="clearGameQueue()">Clear queue</button>
|
||||
<button class="btn btn-danger" (click)="simulateEndGamePoints()">Simulate endgame points</button>
|
||||
<button class="btn btn-danger" (click)="simulateValidAnswer()">Simulate valid answer</button>
|
||||
<h4>Versus</h4>
|
||||
<button class="btn btn-danger" (click)="simulateVersus()">Begin versus</button>
|
||||
<button class="btn btn-danger" (click)="resetAllVersusTasksAsIncompleted()">Mark all as uncompleted</button>
|
||||
|
|
|
|||
|
|
@ -53,4 +53,8 @@ export class AdminTestingComponent implements OnInit, OnDestroy {
|
|||
simulateEndGamePoints() {
|
||||
this.testingApiService.simulateEndGamePoints().pipe(takeUntil(this.destroyed$)).subscribe(r => console.log(r));
|
||||
}
|
||||
|
||||
simulateValidAnswer() {
|
||||
this.testingApiService.simulateValidAnswer().pipe(takeUntil(this.destroyed$)).subscribe(r => console.log(r));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,10 @@
|
|||
<div class="d-block justify-content-centers">
|
||||
<h1 *ngIf="answerIsValid">🎉 Ура, правильный ответ!</h1>
|
||||
<h1 *ngIf="!answerIsValid">❌ А вот и нет! ❌</h1>
|
||||
<div class="d-flex align-items-center justify-content-center">
|
||||
<app-participant-item *ngIf="participant" [participant]="participant"></app-participant-item>
|
||||
<div class="d-flex align-items-center justify-content-center flex-wrap">
|
||||
<ng-container *ngFor="let participant of participants" >
|
||||
<app-participant-item [participant]="participant"></app-participant-item>
|
||||
</ng-container>
|
||||
</div>
|
||||
<h2 class="text-center" *ngIf="!answerIsValid">выйграл наказание</h2>
|
||||
<audio *ngIf="!answerIsValid" src="assets/sfx/wrong_answer.mp3" autoplay></audio>
|
||||
|
|
|
|||
|
|
@ -51,11 +51,10 @@ import { VoiceService } from "../../services/voice.service";
|
|||
export class AnswerNotificationComponent implements OnInit, OnDestroy {
|
||||
isShown = false;
|
||||
answerIsValid = false;
|
||||
participant: Participant;
|
||||
timer: Observable<any>;
|
||||
countdown = 10;
|
||||
showCountdown = false;
|
||||
announceAudio = true;
|
||||
participants: Participant[] = [];
|
||||
audioSrc: string;
|
||||
private destroyed$ = new Subject<void>();
|
||||
|
||||
|
|
@ -68,20 +67,21 @@ export class AnswerNotificationComponent implements OnInit, OnDestroy {
|
|||
takeUntil(this.destroyed$),
|
||||
map(e => e.data)
|
||||
).subscribe(d => this.showNotification(d.telegramId, false, d.validAnswer, null));
|
||||
this.eventService.scoreChangedEvent.pipe(
|
||||
takeUntil(this.destroyed$),
|
||||
map(e => e.data),
|
||||
).subscribe(e => {
|
||||
if(e.telegramId === this.participant.telegramId) {
|
||||
this.participant.score = e.newScore
|
||||
}
|
||||
});
|
||||
// this.eventService.scoreChangedEvent.pipe(
|
||||
// takeUntil(this.destroyed$),
|
||||
// map(e => e.data),
|
||||
// ).subscribe(e => {
|
||||
// if(e.telegramId === this.participant.telegramId) {
|
||||
// this.participant.score = e.newScore
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
showNotification(telegramId: number, validAnswer: boolean, validAnswerValue: string, note: string|null) {
|
||||
this.countdown = validAnswer ? 10 : 5;
|
||||
console.log(`showNotification`);
|
||||
this.apiService.getParticipant(telegramId).subscribe(p => {
|
||||
this.participant = p;
|
||||
this.countdown = validAnswer ? 10 : 5;
|
||||
this.participants.push(p);
|
||||
this.isShown = true;
|
||||
this.answerIsValid = validAnswer;
|
||||
const template = validAnswer ? 'announce-valid' : 'announce-invalid';
|
||||
|
|
@ -107,6 +107,7 @@ export class AnswerNotificationComponent implements OnInit, OnDestroy {
|
|||
this.announceAudio = false;
|
||||
this.countdown = 10;
|
||||
this.apiService.continueGame().subscribe(r => console.log(r));
|
||||
this.participants = [];
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
|
|
|
|||
|
|
@ -28,4 +28,8 @@ export class TestingApiService {
|
|||
simulateEndGamePoints() {
|
||||
return this.httpClient.post(`${API_URL}/quiz/calculate-endgame-extrapoints`, {})
|
||||
}
|
||||
|
||||
simulateValidAnswer() {
|
||||
return this.httpClient.post(`${API_URL}/game/simulate-valid-answer`, {});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue