*/ public function broadcastOn(): array { return [ new PrivateChannel("gomoku.{$this->game->id}"), new PresenceChannel("room.{$this->game->room_id}"), ]; } /** * 广播事件名(前端监听 .gomoku.finished)。 */ public function broadcastAs(): string { return 'gomoku.finished'; } /** * 广播数据。 * * @return array */ public function broadcastWith(): array { return [ 'game_id' => $this->game->id, 'winner' => $this->game->winner, 'winner_name' => $this->winnerName, 'loser_name' => $this->loserName, 'reason' => $this->reason, 'reward_gold' => $this->game->reward_gold, 'mode' => $this->game->mode, ]; } }