{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/answer/answer.component.css","webpack:///./src/app/answer/answer.component.html","webpack:///./src/app/answer/answer.component.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/message/message.component.css","webpack:///./src/app/message/message.component.html","webpack:///./src/app/message/message.component.ts","webpack:///./src/app/page-not-found/page-not-found.component.css","webpack:///./src/app/page-not-found/page-not-found.component.html","webpack:///./src/app/page-not-found/page-not-found.component.ts","webpack:///./src/app/play-quizz/play-quizz.component.css","webpack:///./src/app/play-quizz/play-quizz.component.html","webpack:///./src/app/play-quizz/play-quizz.component.ts","webpack:///./src/app/printer/printer.component.css","webpack:///./src/app/printer/printer.component.html","webpack:///./src/app/printer/printer.component.ts","webpack:///./src/app/question-list/question-list.component.css","webpack:///./src/app/question-list/question-list.component.html","webpack:///./src/app/question-list/question-list.component.ts","webpack:///./src/app/question/question.component.css","webpack:///./src/app/question/question.component.html","webpack:///./src/app/question/question.component.ts","webpack:///./src/app/quizz-manager/quizz-manager.component.css","webpack:///./src/app/quizz-manager/quizz-manager.component.html","webpack:///./src/app/quizz-manager/quizz-manager.component.ts","webpack:///./src/app/services/impostor.service.ts","webpack:///./src/app/services/message.service.ts","webpack:///./src/app/start-page/new-game-dialog/new-game.dialog.component.html","webpack:///./src/app/start-page/new-game-dialog/new-game.dialog.component.ts","webpack:///./src/app/start-page/new-player-dialog/new-player.dialog.component.html","webpack:///./src/app/start-page/new-player-dialog/new-player.dialog.component.ts","webpack:///./src/app/start-page/start-page.component.css","webpack:///./src/app/start-page/start-page.component.html","webpack:///./src/app/start-page/start-page.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \".answerButton {\\n min-width: 150px;\\n margin-bottom: 15px;\\n}\\n\\nul {\\n list-style-type: none;\\n}\\n\\n.radio-group {\\n display: inline-flex;\\n flex-direction: column;\\n}\\n\\n.radio-button {\\n margin: 5px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYW5zd2VyL2Fuc3dlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtDQUN2Qjs7QUFFRDtJQUNJLHNCQUFzQjtDQUN6Qjs7QUFFRDtJQUNJLHFCQUFxQjtJQUNyQix1QkFBdUI7Q0FDMUI7O0FBRUQ7SUFDSSxZQUFZO0NBQ2YiLCJmaWxlIjoic3JjL2FwcC9hbnN3ZXIvYW5zd2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYW5zd2VyQnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5yYWRpby1ncm91cCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJhZGlvLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiA1cHg7XG59XG4iXX0= */\"","module.exports = \"\\n \\n\\n \\n \\n \\n\\n \\n\\n \\n\\n\\n\\n\\n\\n \\n\\n\\n \\n\"","import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\nimport { Question, Answer } from '../data.model';\n\n@Component({\n selector: 'app-answer',\n templateUrl: './answer.component.html',\n styleUrls: ['./answer.component.css']\n})\nexport class AnswerComponent implements OnInit {\n @Input() answers: Answer[];\n @Input() editMode: boolean;\n @Input() editable: boolean;\n @Output() selectedAnswer = new EventEmitter();\n\n correctAnswer: Answer;\n\n constructor() { }\n\n ngOnInit() {\n // the correct answer is the first found that is correct\n this.correctAnswer = this.answers.filter(ans => ans.isCorrect)[0];\n }\n\n select(ans: Answer) {\n this.selectedAnswer.emit(ans);\n }\n\n change(newCorrectAnswer: Answer) {\n console.log(`New correct answer: '${newCorrectAnswer.text}'`);\n for (const a of this.answers) {\n a.isCorrect = a.text === newCorrectAnswer.text;\n }\n }\n\n remove(index: number) {\n if (this.answers.length <= 1) {\n return;\n }\n\n if (this.answers[index].isCorrect) {\n this.answers[0].isCorrect = true;\n }\n\n this.answers.splice(index, 1);\n }\n\n\n newAnswer() {\n this.answers.push({\n text: '',\n isCorrect: this.answers.length === 0,\n });\n }\n}\n","module.exports = \"@import url('https://fonts.googleapis.com/css?family=Pangolin');\\n\\nhtml, body {\\n margin: 0;\\n padding: 0;\\n height: 150vh;\\n width: max-content;\\n\\n}\\n\\n.funnyText {\\n font-family: Pangolin, cursive;\\n}\\n\\n.icon {\\n padding: 0 14px;\\n}\\n\\n.spacer {\\n flex: 1 1 auto;\\n}\\n\\n.toolbar {\\n margin-bottom: 10px;\\n background-color: transparent;\\n}\\n\\n.spooky {\\n background-image: url('spookywebs.jpeg');\\n opacity: 0.8;\\n background-size: cover;\\n background-repeat: repeat-x;\\n height: 150vh;\\n overflow-y: scroll;\\n scroll-behavior: auto;\\n}\\n\\n.transparent {\\n background-color: transparent;\\n color: whitesmoke;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFOztBQUVoRTtJQUNJLFVBQVU7SUFDVixXQUFXO0lBQ1gsY0FBYztJQUNkLG1CQUFtQjs7Q0FFdEI7O0FBRUQ7RUFDRSwrQkFBK0I7Q0FDaEM7O0FBRUQ7SUFDSSxnQkFBZ0I7Q0FDbkI7O0FBRUQ7SUFDSSxlQUFlO0NBQ2xCOztBQUVEO0lBQ0ksb0JBQW9CO0lBQ3BCLDhCQUE4QjtDQUNqQzs7QUFFRDtJQUNJLHlDQUF1RDtJQUN2RCxhQUFhO0lBQ2IsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1QixjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLHNCQUFzQjtDQUN6Qjs7QUFFRDtJQUNJLDhCQUE4QjtJQUM5QixrQkFBa0I7Q0FDckIiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UGFuZ29saW4nKTtcblxuaHRtbCwgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxNTB2aDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG5cbn1cblxuLmZ1bm55VGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBQYW5nb2xpbiwgY3Vyc2l2ZTtcbn1cblxuLmljb24ge1xuICAgIHBhZGRpbmc6IDAgMTRweDtcbn1cblxuLnNwYWNlciB7XG4gICAgZmxleDogMSAxIGF1dG87XG59XG5cbi50b29sYmFyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc3Bvb2t5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3Bvb2t5d2Vicy5qcGVnJyk7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGhlaWdodDogMTUwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcbn1cblxuLnRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogd2hpdGVzbW9rZTtcbn0iXX0= */\"","module.exports = \"
\\n\\n {{title}}\\n \\n\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n title = 'AmongUs (Halloween Edition)';\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { HttpClientModule } from '@angular/common/http';\nimport {\n MatButtonModule,\n MatCheckboxModule,\n MatTableModule,\n MatSortModule,\n MatMenuModule,\n MatIconModule,\n MatToolbarModule,\n MatListModule,\n MatCardModule,\n MatSlideToggleModule,\n MatInputModule,\n MatRadioModule,\n MatDialogModule,\n MatExpansionModule,\n MatSelectModule,\n MatSnackBarModule,\n} from '@angular/material';\n\nimport { RouterModule, Routes } from '@angular/router';\nimport { HttpModule } from '@angular/http';\n\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule, routingComponents } from './app.routes';\nimport { AnswerComponent } from './answer/answer.component';\nimport { NewPlayerDialogComponent } from './start-page/new-player-dialog/new-player.dialog.component';\nimport { NewGameDialogComponent } from './start-page/new-game-dialog/new-game.dialog.component';\nimport { QuizzManagerComponent } from './quizz-manager/quizz-manager.component';\nimport { PlayQuizzComponent } from './play-quizz/play-quizz.component';\n\n\nimport { MessageComponent } from './message/message.component';\nimport { ImpostorService } from './services/impostor.service';\nimport { MessageService } from './services/message.service';\nimport { PrinterComponent } from './printer/printer.component';\n\n\n@NgModule({\n declarations: [\n AppComponent,\n routingComponents,\n AnswerComponent,\n NewPlayerDialogComponent,\n NewGameDialogComponent,\n QuizzManagerComponent,\n PlayQuizzComponent,\n MessageComponent,\n PrinterComponent,\n ],\n entryComponents: [NewPlayerDialogComponent, NewGameDialogComponent],\n imports: [\n AppRoutingModule,\n BrowserModule,\n BrowserAnimationsModule,\n FlexLayoutModule,\n MatButtonModule,\n MatCheckboxModule,\n MatTableModule,\n MatSortModule,\n MatMenuModule,\n MatExpansionModule,\n MatIconModule,\n MatToolbarModule,\n MatListModule,\n MatCardModule,\n MatSlideToggleModule,\n MatInputModule,\n MatRadioModule,\n FormsModule,\n MatDialogModule,\n MatSelectModule,\n MatSnackBarModule,\n HttpModule,\n HttpClientModule,\n ],\n providers: [ImpostorService, MessageService],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { QuestionsComponent } from './question/question.component';\nimport { QuestionListComponent } from './question-list/question-list.component';\nimport { PageNotFoundComponent } from './page-not-found/page-not-found.component';\nimport { StartPageComponent } from './start-page/start-page.component';\nimport { QuizzManagerComponent } from './quizz-manager/quizz-manager.component';\nimport { PlayQuizzComponent } from './play-quizz/play-quizz.component';\nimport { PrinterComponent } from './printer/printer.component';\n\n\nconst routes: Routes = [\n { path: '', pathMatch: 'full', redirectTo: '/start' },\n { path: 'start', component: StartPageComponent },\n { path: 'play/:gameId/:playerId', component: PlayQuizzComponent },\n { path: 'manage/:id', component: QuestionListComponent },\n { path: 'manage', component: QuizzManagerComponent },\n { path: 'printer', component: PrinterComponent },\n { path: '**', component: PageNotFoundComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(\n routes,\n {useHash: true, enableTracing: true })], // <-- debugging purposes only)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n\nexport const routingComponents = [\n QuestionsComponent,\n QuestionListComponent,\n PageNotFoundComponent,\n StartPageComponent,\n QuizzManagerComponent,\n PlayQuizzComponent,\n \n];\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n
\\n\\n

Messages

\\n \\n
{{message}}
\\n\\n
\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { MessageService } from '../services/message.service';\n\n@Component({\n selector: 'app-message',\n templateUrl: './message.component.html',\n styleUrls: ['./message.component.css']\n})\nexport class MessageComponent implements OnInit {\n\n messages: string[] = [];\n\n constructor(public messageService: MessageService ) { }\n\n ngOnInit() {\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BhZ2Utbm90LWZvdW5kL3BhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"

404

\\n

Sorry, the page you are looking for does not exist

\\nGo to the beginning\\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-page-not-found',\n templateUrl: './page-not-found.component.html',\n styleUrls: ['./page-not-found.component.css']\n})\nexport class PageNotFoundComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".right {\\n float: right;\\n}\\n\\n.debugPanel {\\n float: right;\\n background-color: lightgoldenrodyellow;\\n padding: 15px;\\n margin: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcGxheS1xdWl6ei9wbGF5LXF1aXp6LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0NBQ2hCOztBQUVEO0lBQ0ksYUFBYTtJQUNiLHVDQUF1QztJQUN2QyxjQUFjO0lBQ2QsYUFBYTtDQUNoQiIsImZpbGUiOiJzcmMvYXBwL3BsYXktcXVpenovcGxheS1xdWl6ei5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5kZWJ1Z1BhbmVsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRnb2xkZW5yb2R5ZWxsb3c7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW46IDE1cHg7XG59Il19 */\"","module.exports = \"\\n\\n

Game: {{ game.gameName }}

\\n

Player Name: {{player.playerName}}

\\n

Status: {{ game.state }}

\\n\\n \\n \\n \\n Status\\n \\n \\n {{ playerHealth() }}\\n        \\n \\n \\n Player Type:   {{ player.playerType}}
\\n
\\n\\n
\\n\\n \\n \\n \\n {{t.name}}\\n \\n \\n Completed\\n        \\n \\n\\n \\n Room: {{t.room}}
\\n {{ t.station}}\\n
\\n\\n \\n \\n \\n \\n\\n
\\n\\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { ImpostorService } from '../services/impostor.service';\nimport { Game } from '../domain/game';\nimport { Player } from '../domain/player';\nimport { Task} from '../domain/task';\nimport { Subscription } from 'rxjs/Subscription';\nimport {\n MatSnackBar,\n MatSnackBarHorizontalPosition,\n MatSnackBarVerticalPosition,\n} from '@angular/material/snack-bar';\n\n@Component({\n selector: 'app-play-quizz',\n templateUrl: './play-quizz.component.html',\n styleUrls: ['./play-quizz.component.css']\n})\nexport class PlayQuizzComponent implements OnInit {\n gameId: string;\n playerId: string;\n\n game: Game;\n player: Player;\n\n showDebug = false;\n showResults = true;\n\n sub: Subscription;\n interval: any;\n\n constructor(\n private impostorService: ImpostorService,\n private router: Router,\n private route: ActivatedRoute,\n private snackBar: MatSnackBar) { \n\n }\n\n ngOnInit() {\n\n this.player = {playerName: '',playerId:0, playerType: 'crew',status:1,taskList:[], remainingTasksCount:0};\n this.game = {gameId:0, gameName:'', state:'',players:[], requiredPlayerCount: 0, keyPhrase: ''};\n\n this.sub = this.route.params.subscribe(params => {\n this.gameId = params['gameId'];\n this.playerId = params['playerId'];\n this.impostorService.getGameById(this.gameId).subscribe( game => {\n this.game = game;\n this.player = this.getPlayerByPlayerId( this.game, this.playerId);\n });\n\n });\n\n this.updateData();\n this.interval = setInterval(() => { \n this.updateData(); \n }, 5000);\n }\n\n updateData() {\n this.impostorService.getGameById(this.gameId).subscribe( game => {\n this.updatePlayers(game);\n this.reportPlayerActivity(game);\n this.game = game;\n const player = this.getPlayerByPlayerId( game, this.playerId);\n this.player.status = player.status;\n this.player.playerType = player.playerType;\n });\n }\n\n updatePlayers( game: Game) {\n for (var i = 0; i < game.players.length; i++) {\n let p: Player = game.players[i];\n this.findOrAddPlayer(p);\n }\n }\n\n findOrAddPlayer( player: Player) : Player {\n for (var i = 0; i < this.game.players.length; i++) {\n let p: Player = this.game.players[i];\n if ( player.playerId === p.playerId) {\n return p;\n }\n }\n this.game.players.push(player);\n // report the change to the user\n const message = player.playerName + ' has joined the game.';\n // console.log(message );\n this.openSnackBar(message);\n return player;\n }\n\n reportPlayerActivity( game: Game ) {\n // for each player\n for (let i = 0; i < game.players.length; i++) {\n let p: Player = game.players[i];\n\n if ( this.player.playerId !== p.playerId) {\n let orig: Player = this.findOrAddPlayer(p);\n\n if ( p.remainingTasksCount < orig.remainingTasksCount) {\n // update the count\n orig.remainingTasksCount = p.remainingTasksCount;\n\n // report the change to the user\n const message = p.playerName + ' has completed a task.';\n // console.log(message );\n this.openSnackBar(message);\n }\n }\n }\n }\n\n\n getPlayerByPlayerId( game: Game, playerId: string): Player {\n for (var i = 0; i < game.players.length; i++) {\n let p = game.players[i];\n if( playerId === p.playerId.toString() ) {\n return p;\n }\n }\n }\n \n OnDestroy() {\n this.sub.unsubscribe();\n }\n\n isComplete( task: Task): boolean {\n return task.status === 'COMPLETE';\n\n }\n\n isTaskDisabled( task: Task): boolean {\n if(task.status === 'COMPLETE' ) {\n return true;\n }\n\n if( this.game.state === 'STARTED') {\n return false;\n }\n\n return true;\n\n }\n onSearchChange(task: Task, searchValue: string): void {\n task.input = searchValue; \n console.log(searchValue);\n }\n\n isAlive(): boolean {\n if( this.player) {\n return this.player.status > 0;\n } else {\n return false;\n }\n }\n\n playerHealth(): string {\n if (this.isAlive()) {\n return 'Alive';\n }\n return 'Dead';\n }\n\n onInputChange( task: Task, changeValue: string) {\n task.input = changeValue;\n if( task.code === changeValue) {\n this.impostorService.markTaskComplete( this.gameId, this.playerId, task.taskId).subscribe( game => {\n task.status = 'COMPLETE';\n }) \n }\n console.log(changeValue);\n }\n\n onStatusChange( changeValue: boolean) {\n if(this.player) {\n if( changeValue === true) {\n this.impostorService.restorePlayer(this.gameId, this.playerId).subscribe( game => {\n this.game = game;\n this.player = this.getPlayerByPlayerId( this.game, this.playerId);\n });\n\n } else {\n this.impostorService.killPlayer(this.gameId, this.playerId).subscribe( game => {\n this.game = game;\n this.player = this.getPlayerByPlayerId( this.game, this.playerId);\n });\n }\n }\n \n // this.openSnackBar(changeValue.toString());\n console.log(changeValue);\n }\n\n openSnackBar(message: string) {\n this.snackBar.open(message, 'Dismiss', {\n duration: 3000\n });\n }\n}\n","module.exports = \".transparent {\\r\\n\\tbackground-color: transparent;\\r\\n\\tcolor: whitesmoke;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHJpbnRlci9wcmludGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Q0FDQyw4QkFBOEI7Q0FDOUIsa0JBQWtCO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHAvcHJpbnRlci9wcmludGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudHJhbnNwYXJlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiB3aGl0ZXNtb2tlO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\n \\n Choose a room\\n \\n {{r}}\\n \\n \\n 0\\\">\\n \\n Choose a station\\n \\n {{s}}\\n \\n \\n \\n\\n\\n

{{selectedStation}}

\\n \\n \\n note\\n
{{task.description}}
\\n
{{task.code}}
\\n
\\n \\n
\\n
\"","import { Component, OnInit } from '@angular/core';\nimport { ImpostorService } from '../services/impostor.service';\nimport { Task } from '../domain/task';\n\n@Component({\n selector: 'app-printer',\n templateUrl: './printer.component.html',\n styleUrls: ['./printer.component.css']\n})\nexport class PrinterComponent implements OnInit {\n\n allTasks: Task[] = [];\n selectedTasks: Task[] = [];\n stations: string[] = [];\n\n rooms: string[] = [];\n\n selectedRoom = '';\n selectedStation = '';\n\n constructor( private impostorService: ImpostorService ) { }\n\n ngOnInit() {\n this.impostorService.getTasks().subscribe( tasks => {\n this.allTasks = tasks;\n // build list of rooms\n for( var i = 0; i < tasks.length; i++) {\n let task:Task = tasks[i];\n if( !this.rooms.includes(task.room) ){\n this.rooms.push(task.room);\n }\n } \n\n })\n }\n\n onRoomChange(newRoom: string) {\n console.log(newRoom);\n this.getStationsInRoom(newRoom);\n this.selectedRoom = newRoom;\n }\n\n onStationChange(newStation: string) {\n console.log(newStation);\n this.selectedStation = newStation;\n this.getSelectedTasks();\n\n }\n\n getSelectedTasks() {\n this.selectedTasks = [];\n // build list of stations in given room\n for ( var i = 0; i < this.allTasks.length; i++) {\n let task: Task = this.allTasks[i];\n if ( this.selectedRoom === task.room) {\n if ( this.selectedStation === task.station) {\n if ( !this.selectedTasks.includes(task)) {\n this.selectedTasks.push(task);\n }\n }\n }\n } \n console.log(this.selectedTasks);\n }\n\n getStationsInRoom( room: string) {\n this.stations = [];\n // build list of stations in given room\n for( var i = 0; i < this.allTasks.length; i++) {\n let task: Task = this.allTasks[i];\n if( room === task.room) {\n if ( !this.stations.includes(task.station)) {\n this.stations.push(task.station);\n }\n }\n } \n }\n}\n","module.exports = \".right {\\n float: right;\\n}\\n\\n.debugPanel {\\n float: right;\\n background-color: lightgoldenrodyellow;\\n padding: 15px;\\n margin: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcXVlc3Rpb24tbGlzdC9xdWVzdGlvbi1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxhQUFhO0NBQ2hCOztBQUVEO0lBQ0ksYUFBYTtJQUNiLHVDQUF1QztJQUN2QyxjQUFjO0lBQ2QsYUFBYTtDQUNoQiIsImZpbGUiOiJzcmMvYXBwL3F1ZXN0aW9uLWxpc3QvcXVlc3Rpb24tbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5kZWJ1Z1BhbmVsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRnb2xkZW5yb2R5ZWxsb3c7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXJnaW46IDE1cHg7XG59Il19 */\"","module.exports = \"\\n \\n {{game.gameName}}\\n Status: {{game.state}}\\n \\n \\n\\n\\n\\n\\n\\n \\n
\\n {{q.playerName}}\\n Tasks to complete: {{q.remainingTasksCount}}\\n
\\n \\n \\n \\n \\n
\\n\\n\\n\\n \\n Game JSON Object\\n Show debug info\\n \\n \\n {{ game | json}}\\n \\n\\n\\n\\n\"","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Game } from '../domain/game';\nimport { Player} from '../domain/player';\n\nimport { interval } from \"rxjs\";\nimport { startWith, switchMap } from \"rxjs/operators\";\n\nimport { Observable } from 'rxjs/Observable';\nimport { Subscription } from 'rxjs/Subscription';\nimport { ImpostorService } from '../services/impostor.service';\nimport { TimeInterval } from 'rxjs/internal/operators/timeInterval';\n\n@Component({\n selector: 'app-question-list',\n templateUrl: './question-list.component.html',\n styleUrls: ['./question-list.component.css']\n})\nexport class QuestionListComponent implements OnInit {\n game: Game;\n\n id: string;\n sub: Subscription;\n showDebug = true;\n\n interval: any;\n\n constructor(private impostorService: ImpostorService, private router: Router, private route: ActivatedRoute) { }\n\n ngOnInit() {\n this.sub = this.route.params.subscribe(params => {\n this.id = params['id'];\n\n this.updateData();\n this.interval = setInterval(() => { \n this.updateData(); \n }, 5000);\n });\n }\n\n updateData() {\n this.impostorService.getGameById(this.id).subscribe( game => {\n this.game = game;\n });\n }\n\n OnDestroy() {\n clearInterval(this.interval);\n this.sub.unsubscribe();\n }\n\n kill(q: Player ) {\n this.impostorService.killPlayer(this.id, q.playerId.toString()).subscribe( game => {\n this.game = game;\n });\n }\n\n restore(q: Player ) {\n this.impostorService.restorePlayer(this.id, q.playerId.toString()).subscribe( game => {\n this.game = game;\n });\n }\n\n isGameReady(): boolean {\n return this.game.state === \"READY\";\n }\n\n startGame() {\n this.impostorService.startGame(this.game.gameId).subscribe( game => {\n this.game = game;\n });\n \n }\n\n showPlayer(q: Player ) {\n if ( q.status === 1) {\n return true;\n } else {\n return false;\n }\n }\n\n\n}\n","module.exports = \".selected-value {\\n margin: 15px 0;\\n}\\n\\n.card {\\n margin: 20px;\\n width: 35%;\\n font-family: Pangolin, cursive;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcXVlc3Rpb24vcXVlc3Rpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7Q0FDbEI7O0FBRUQ7SUFDSSxhQUFhO0lBQ2IsV0FBVztJQUNYLCtCQUErQjtDQUNsQyIsImZpbGUiOiJzcmMvYXBwL3F1ZXN0aW9uL3F1ZXN0aW9uLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2VsZWN0ZWQtdmFsdWUge1xuICAgIG1hcmdpbjogMTVweCAwO1xufVxuXG4uY2FyZCB7XG4gICAgbWFyZ2luOiAyMHB4O1xuICAgIHdpZHRoOiAzNSU7XG4gICAgZm9udC1mYW1pbHk6IFBhbmdvbGluLCBjdXJzaXZlO1xufSJdfQ== */\"","module.exports = \"\\n\\n \\n \\n \\n\\n \\n {{ question.text }}\\n \\n\\n \\n \\n \\n\\n\\n \\n \\n \\n \\n\\n\"","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { Question, Answer } from '../data.model';\n\n@Component({\n selector: 'app-question',\n templateUrl: './question.component.html',\n styleUrls: ['./question.component.css']\n})\nexport class QuestionsComponent implements OnInit {\n @Input() question: Question;\n @Input() editable: boolean;\n @Output() selectedAnswer = new EventEmitter();\n editMode = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n\n handleSelectAnswer(ans: Answer) {\n this.selectedAnswer.emit(ans);\n }\n}\n","module.exports = \"ul {\\n list-style-type: none;\\n}\\n\\nli {\\n margin: 15px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcXVpenotbWFuYWdlci9xdWl6ei1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxzQkFBc0I7Q0FDekI7O0FBRUQ7SUFDSSxhQUFhO0NBQ2hCIiwiZmlsZSI6InNyYy9hcHAvcXVpenotbWFuYWdlci9xdWl6ei1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5saSB7XG4gICAgbWFyZ2luOiAxNXB4O1xufSJdfQ== */\"","module.exports = \"\\n\\n

Existing games:

\\n\"","import { Component, OnInit } from '@angular/core';\nimport { MatDialog} from '@angular/material';\nimport { Router } from '@angular/router';\nimport { NewGameDialogComponent } from '../start-page/new-game-dialog/new-game.dialog.component';\nimport { ImpostorService } from '../services/impostor.service';\nimport { Game } from '../domain/game';\n\n@Component({\n selector: 'app-quizz-manager',\n templateUrl: './quizz-manager.component.html',\n styleUrls: ['./quizz-manager.component.css']\n})\nexport class QuizzManagerComponent implements OnInit {\n public games: Game[];\n\n constructor(private impostorService: ImpostorService, private router: Router, public dialog: MatDialog) { }\n\n ngOnInit() {\n this.refreshGameList();\n }\n\n manageGame(gameId: number) {\n this.router.navigate([`/manage/${gameId}`]);\n }\n \n deleteGame(gameId: number) {\n this.impostorService.deleteGame(gameId);\n this.refreshGameList();\n }\n\n createGame() {\n const dialogRef = this.dialog.open(NewGameDialogComponent, {\n width: '250px',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (!result) {\n return;\n }\n\n this.impostorService.createGame(result).subscribe( test => {\n this.refreshGameList();\n } )\n\n });\n }\n\n refreshGameList() {\n this.impostorService.getGames().subscribe( games => {\n this.games = games;\n });\n\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Game } from '../domain/game';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { MessageService } from '../services/message.service';\nimport { Task } from '../domain/task';\nimport { Player } from '../domain/player';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ImpostorService {\n\n private dummyGame: Game = { gameId: 0, gameName: '', state: '', players: [], requiredPlayerCount: 0, keyPhrase: ''};\n private dummyPlayer: Player = { playerName: '', playerId: 0, playerType: 'crew', status: 0, remainingTasksCount: 0, taskList: [] };\n\n private rootUrl = 'http://impostor.us-east-1.elasticbeanstalk.com/api/v1/impostor/';\n // private rootUrl = 'http://localhost:8080/api/v1/impostor/';\n private gamesUrl = this.rootUrl + 'games/';\n private createUrl = this.gamesUrl + 'add';\n private deleteUrl = this.gamesUrl + 'delete';\n private tasksUrl = this.gamesUrl + 'tasks';\n\n\n private playerStatusUrl = this.gamesUrl + '';\n\n getGameUrl( gameId: string, postFix: string): string {\n return this.gamesUrl + gameId + postFix;\n }\n\n\n constructor( private http: HttpClient,\n private messageService: MessageService) { }\n\n\n getGames(): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n })\n };\n\n\n return this.http.get(this.gamesUrl, httpOptions)\n .pipe(\n catchError(this.handleError('getGames', []))\n );\n }\n\n createGame( name: string ): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Origin': 'albrechtweb.com',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n\n return this.http.post(this.createUrl, name, httpOptions)\n .pipe(\n catchError(this.handleError('createGame', this.dummyGame))\n );\n }\n\n deleteGame( gameId: number ) {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n\n this.http.post(this.deleteUrl, gameId, httpOptions).subscribe( result => {\n this.messageService.add( `game deleted ${result}` );\n })\n \n }\n\n getGameById( gameId: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n\n const gameUrl = this.getGameUrl( gameId, '');\n\n return this.http.get(gameUrl, httpOptions)\n .pipe(\n catchError(this.handleError('getGame', this.dummyGame))\n );\n\n }\n\n createPlayer( gameId: string, name: string ): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n\n const createPlayerUrl = this.getGameUrl( gameId, '/players/add');\n\n return this.http.post(createPlayerUrl, name, httpOptions)\n .pipe(\n catchError(this.handleError('createPlayer', this.dummyPlayer))\n );\n }\n\n killPlayer( gameId: string, playerId: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n const gameUrl = this.getGameUrl(gameId, '/players/kill');\n\n return this.http.post(gameUrl, playerId, httpOptions)\n .pipe(\n catchError(this.handleError('killPlayer', this.dummyGame ) )\n );\n\n }\n\n restorePlayer( gameId: string, playerId: string): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n const gameUrl = this.getGameUrl(gameId, '/players/restore');\n\n return this.http.post(gameUrl, playerId, httpOptions)\n .pipe(\n catchError(this.handleError('restorePlayer',this.dummyGame) )\n );\n\n }\n\n\n markTaskComplete( gameId: string, playerId: string, taskId: number): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n const gameUrl = this.getGameUrl(gameId, '/task/completed');\n\n return this.http.post(gameUrl, {'playerId': playerId, 'taskId': taskId}, httpOptions)\n .pipe(\n catchError(this.handleError('taskComplete', this.dummyGame ) )\n );\n\n }\n\n startGame( gameId: number) {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n const gameUrl = this.getGameUrl('' + gameId, '/start');\n\n return this.http.post(gameUrl, {gameId: gameId}, httpOptions)\n .pipe(\n catchError(this.handleError('startGame', this.dummyGame) )\n );\n\n }\n\n getTasks( ): Observable {\n const httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json',\n 'Access-Control-Allow-Origin': '*'\n })\n };\n\n const url = this.tasksUrl;\n\n return this.http.get(url)\n .pipe(\n catchError(this.handleError('getTasks', []))\n );\n\n }\n\n\n\n /**\n * Handle Http operation that failed.\n * Let the app continue.\n * @param operation - name of the operation that failed\n * @param result - optional value to return as the observable result\n */\n private handleError(operation = 'operation', result?: T) {\n return (error: any): Observable => {\n\n // TODO: send the error to remote logging infrastructure\n console.error(error); // log to console instead\n\n // TODO: better job of transforming error for user consumption\n this.log(`${operation} failed: ${error.message}`);\n\n // Let the app keep running by returning an empty result.\n return of(result as T);\n };\n }\n\n /** Log a HeroService message with the MessageService */\n private log(message: string) {\n this.messageService.add(`HeroService: ${message}`);\n }\n}\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MessageService {\r\n messages: string[] = [];\r\n\r\n add(message: string) {\r\n this.messages.push(message);\r\n }\r\n\r\n clear() {\r\n this.messages = [];\r\n }\r\n}","module.exports = \"\\n \\n\\n\\n\\n \\n\\n\\n\\n Number of players\\n \\n 4\\n 5\\n 6\\n 7\\n 8\\n 9\\n 10\\n 11\\n 12\\n \\n\\n\\n\\n\\n\\n\"","import { Component, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport {GameSettings} from './../../domain/gamesettings';\n\n@Component({\n selector: 'app-newgame-dialog',\n templateUrl: './new-game.dialog.component.html',\n})\nexport class NewGameDialogComponent {\n\n settings: GameSettings = { gameName: '', numPlayers: 8, keyPhrase: ''};\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any) { }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ok() {\n if (!!this.settings.gameName) {\n this.dialogRef.close(this.settings);\n }\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n isDisabled(): boolean {\n if( this.settings.gameName.length > 0) {\n return false;\n }\n return true;\n }\n\n}\n","module.exports = \"\\n\\n \\n\\n\\n\\n \\n\\n\\n\\n\"","import { Component, Inject } from '@angular/core';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { Game } from '../../domain/game';\n\n@Component({\n selector: 'app-newplayer-dialog',\n templateUrl: './new-player.dialog.component.html',\n})\nexport class NewPlayerDialogComponent {\n name = '';\n keyPhrase = '';\n game: Game;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: Game) {\n this.game = data;\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n ok() {\n if (!!this.name) {\n this.dialogRef.close(this.name);\n }\n }\n\n cancel() {\n this.dialogRef.close();\n }\n\n \n isDisabled(): boolean {\n if ( this.name === '') {\n return true;\n }\n\n if ( this.game.keyPhrase === this.keyPhrase) {\n return false;\n }\n return true;\n }\n\n}\n","module.exports = \".content {\\n}\\n\\n.welcome {\\n\\twidth: 90%;\\n\\tmargin: 0 auto;\\n}\\n\\nul {\\n\\tlist-style-type: none;\\n}\\n\\nli {\\n\\tmargin: 15px;\\n}\\n\\n#chuck {\\n\\tmargin-top: 50px;\\n}\\n\\n#chuck img {\\n\\twidth: 80px;\\n\\tmargin-top: 20px;\\n}\\n\\n#chuck p {\\n\\twidth: 70%;\\n\\tfloat: right;\\n}\\n\\n.funnyText {\\n\\tfont-family: Pangolin, cursive;\\n}\\n\\n.spooky {\\n background-image: url('spookywebs.jpeg');\\n opacity: 0.8;\\n\\tbackground-size: cover;\\n\\tbackground-repeat: no-repeat;\\n}\\n\\n.transparent {\\n\\tbackground-color: transparent;\\n\\tcolor: whitesmoke;\\n}\\n\\n.howto {\\n\\tcolor: black;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc3RhcnQtcGFnZS9zdGFydC1wYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Q0FDQzs7QUFFRDtDQUNDLFdBQVc7Q0FDWCxlQUFlO0NBQ2Y7O0FBRUQ7Q0FDQyxzQkFBc0I7Q0FDdEI7O0FBRUQ7Q0FDQyxhQUFhO0NBQ2I7O0FBRUQ7Q0FDQyxpQkFBaUI7Q0FDakI7O0FBRUQ7Q0FDQyxZQUFZO0NBQ1osaUJBQWlCO0NBQ2pCOztBQUVEO0NBQ0MsV0FBVztDQUNYLGFBQWE7Q0FDYjs7QUFFRDtDQUNDLCtCQUErQjtDQUMvQjs7QUFFRDtJQUNJLHlDQUF1RDtJQUN2RCxhQUFhO0NBQ2hCLHVCQUF1QjtDQUN2Qiw2QkFBNkI7Q0FDN0I7O0FBRUQ7Q0FDQyw4QkFBOEI7Q0FDOUIsa0JBQWtCO0NBQ2xCOztBQUVEO0NBQ0MsYUFBYTtDQUNiIiwiZmlsZSI6InNyYy9hcHAvc3RhcnQtcGFnZS9zdGFydC1wYWdlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGVudCB7XG59XG5cbi53ZWxjb21lIHtcblx0d2lkdGg6IDkwJTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbnVsIHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5saSB7XG5cdG1hcmdpbjogMTVweDtcbn1cblxuI2NodWNrIHtcblx0bWFyZ2luLXRvcDogNTBweDtcbn1cblxuI2NodWNrIGltZyB7XG5cdHdpZHRoOiA4MHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jY2h1Y2sgcCB7XG5cdHdpZHRoOiA3MCU7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuLmZ1bm55VGV4dCB7XG5cdGZvbnQtZmFtaWx5OiBQYW5nb2xpbiwgY3Vyc2l2ZTtcbn1cblxuLnNwb29reSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdhc3NldHMvaW1hZ2VzL3Nwb29reXdlYnMuanBlZycpO1xuICAgIG9wYWNpdHk6IDAuODtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnRyYW5zcGFyZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuXG4uaG93dG8ge1xuXHRjb2xvcjogYmxhY2s7XG59Il19 */\"","module.exports = \"\\n\\t
\\n\\t\\t

Welcome to the Dinner Party!

\\n\\t\\t

You have arrived at a very special party. At this party, some of the guests are actually vampires and you may be the dinner, unless you can escape. \\n\\t\\t\\tThe only way to escape is for all dinner guests to complete the tasks they have been assigned, or identify all the vampires and eliminate them \\n\\t\\t\\tthe blood thirsty creatures before all the guests become dinner.

\\n\\n \\n \\n \\n How to Play\\n \\n \\n \\n\\t\\t
\\n\\t\\t

All players for the game will sign into the game and give themselves a name. Once all players are assembled the game wil begin automatically. Each \\n\\t\\t\\tplayer will be assigned a role of dinner guest, or vampire. Each round begins with all players in the meeting room. When the round starts, players will attempt to complete their assigned tasks while avoiding\\n\\t\\t\\thaving their blood slurped out of them by a vampire.

\\n\\t\\t\\t

Death is only the beginning

\\n\\t\\t\\t

Each vampire may eat ONE dinner guest per round. A vampire will tap a dinner guest twice on the shoulder and the dinner guest must die quietly. \\n\\t\\t\\t\\tThat means no moaning or groaning or calling out for help. No cheating. The dead dinner guest must set their life status from Alive to Dead and lay\\n\\t\\t\\ton the ground in their best death pose until they are found by another dinner guest.

\\n\\t\\t\\t

Finding a dead body

\\n\\t\\t\\t

Upon finding a dead dinner guest, an emergency meeting will be called and everyone still alive needs to report to the meeting room. Remaining \\n\\t\\t\\t\\tplayers get to debate who they think is responsible for the death, and each get one vote to eliminate one player they think is a vampire. If one player\\n\\t\\t\\treceives more votes than any other player they will be terminated with a stake to the heart. Eliminated players will switch their status from Alive to Dead\\n\\t\\tand join the other dead players in the cemetary and await for the next game to start.

\\n\\t\\t

Winning the game

\\n\\t\\t

The vampires win the game when there is only one guest left alive for each vampire. The dinner guest(s) win the game when either all vampires have been \\n\\t\\t\\teliminated, or they have completed all their assigned tasks.\\n\\t\\t

\\n\\t\\t
\\n
\\n\\n
\\t\\t\\t\\n\\n\\t\\t

Choose a game below to join, or create a new game:

\\n\\n\\t\\t
\\n\\t\\t
\\n\\n\\t\\t
    \\n\\t\\t\\t
  • \\n\\t\\t\\t\\t\\n\\t\\t\\t
  • \\n\\t\\t\\t\\n\\t\\t
\\n\\t\\t\\n\\t
\\n
\\n\\n\\n\"","import {Component, OnInit, Inject} from '@angular/core';\nimport {MatDialog, MatDialogConfig} from '@angular/material';\nimport {Router} from '@angular/router';\n\nimport {NewPlayerDialogComponent} from './new-player-dialog/new-player.dialog.component';\nimport {NewGameDialogComponent} from './new-game-dialog/new-game.dialog.component';\nimport {Game} from '../domain/game';\nimport {Player} from '../domain/player';\nimport { ImpostorService} from '../services/impostor.service';\n\n\n@Component({\n selector: 'app-start-page',\n templateUrl: './start-page.component.html',\n styleUrls: ['./start-page.component.css'],\n})\nexport class StartPageComponent implements OnInit {\n public games: Game[];\n\n constructor(private impostorService: ImpostorService, private router: Router, public dialog: MatDialog) {}\n\n ngOnInit() {\n \n this.impostorService.getGames()\n .subscribe(games => this.games = games);\n }\n\n manageGame(gameId: string) {\n this.router.navigate([`/manage/${gameId}`]);\n }\n\n playGame(game: Game) {\n\n const dialogConfig = new MatDialogConfig();\n dialogConfig.data = game;\n dialogConfig.width = '250px';\n\n const dialogRef = this.dialog.open(NewPlayerDialogComponent, dialogConfig);\n \n dialogRef.afterClosed().subscribe(result => {\n if (!result) { return; }\n \n this.impostorService.createPlayer(game.gameId.toString(), result).subscribe( player => {\n\n let playerId = player.playerId;\n\n // set current player Id in service\n this.router.navigate([`/play/${game.gameId}/${playerId}`]);\n });\n });\n }\n\n\n newGame() {\n const dialogRef = this.dialog.open(NewPlayerDialogComponent, {\n width: '250px',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (!result) {\n return;\n }\n \n this.impostorService.createGame(result).subscribe( game => {\n this.impostorService.getGames()\n .subscribe(games => this.games = games); \n } )\n\n });\n }\n\n createGame() {\n const dialogRef = this.dialog.open(NewGameDialogComponent, {\n width: '250px',\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (!result) {\n return;\n }\n \n this.impostorService.createGame(result).subscribe( game => {\n this.impostorService.getGames()\n .subscribe(games => this.games = games); \n } )\n\n });\n }\n\n getPlayerCount(game: Game): string {\n return '' + game.players.length + '/' + game.requiredPlayerCount; \n } \n}\n","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `.angular-cli.json`.\n\nexport const environment = {\n production: false\n};\n","import 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""}