+
+ receive_answer(prompt_id, session_id, answers) {
+ const player = this.players_by_session[session_id];
+ if (! player)
+ return { valid: false, message: "Player not found" };
+
+ const prompt = this.state.prompts.find(p => p.id === prompt_id);
+ if (! prompt)
+ return { valid: false, message: "Prompt not found" };
+
+ if (prompt !== this.state.active_prompt)
+ return { valid: false, message: "Prompt no longer active" };
+
+ /* Save the complete answers for our own use later. */
+ this.answers.push({
+ player: player,
+ answers: answers
+ });
+
+ /* And notify players how many players have answered. */
+ this.state.players_answered++;
+
+ this.broadcast_event_object('answered', this.state.players_answered);
+
+ return { valid: true };
+ }