EvalueTonSavoir/test/stressTest/class/teacher.js
MathieuSevignyLavallee 49fbdb1ffd refactor
2024-11-27 18:36:59 -05:00

46 lines
No EOL
1.3 KiB
JavaScript

import { RoomParticipant } from './roomParticipant.js';
export class Teacher extends RoomParticipant {
constructor(username, roomName) {
super(username, roomName);
this.ready = false;
}
connectToRoom(baseUrl) {
return super.connectToRoom(baseUrl, () => {
this.createRoom();
this.listenForStudentMessage();
// Add room creation confirmation listener
this.socket.on('create-success', () => {
console.log(`Room ${this.roomName} created by teacher ${this.username}`);
this.ready = true;
});
});
}
createRoom() {
if (this.socket) {
this.socket.emit('create-room', this.roomName);
}
}
broadcastMessage(message) {
if (this.socket && this.ready) {
this.socket.emit('message-from-teacher', {
roomName: this.roomName,
message
});
} else {
console.warn(`Teacher ${this.username} not ready to broadcast yet`);
}
}
listenForStudentMessage() {
if (this.socket) {
this.socket.on('message-sent-student', ({ message }) => {
//console.log(`Teacher ${this.username} received: "${message}"`);
});
}
}
}