{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/_service/index.ts","./src/app/_service/level.service.ts","./src/app/app.component.css","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.ts","./src/app/layout/index.ts","./src/app/layout/mainlayout/mainlayout.component.html","./src/app/layout/mainlayout/mainlayout.component.ts","./src/app/layout/tilesbar/tilesbar.component.html","./src/app/layout/tilesbar/tilesbar.component.less","./src/app/layout/tilesbar/tilesbar.component.ts","./src/app/pages/edit/edit.component.html","./src/app/pages/edit/edit.component.ts","./src/app/pages/home/home.component.html","./src/app/pages/home/home.component.ts","./src/app/pages/index.ts","./src/app/pages/list/list.component.html","./src/app/pages/list/list.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","export * from './level.service';\n\n\n// WEBPACK FOOTER //\n// ./src/app/_service/index.ts","import { Injectable, OnDestroy } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/map';\nimport { environment } from '../../environments/environment';\n\nexport interface ILevel {\n Rows: ILevelRow[];\n getLevelMap(): string;\n}\n\nexport interface ITile {\n type: string;\n}\n\nexport interface ILevelRow {\n tiles: ITile[];\n}\n\nexport interface ILevelData {\n Name: string;\n LevelType: LevelTypeEnum; \n Content: string;\n}\n\nexport interface INewLevelData {\n name: string;\n levelType: LevelTypeEnum; \n rows: number;\n columns: number;\n}\n\nexport enum LevelTypeEnum {\n Empty = 0,\n Tropical = 1,\n Desert = 2\n}\n\nexport class Level implements ILevel {\n Rows: ILevelRow[];\n \n\n /**\n *\n */\n constructor(levelMap?: string) {\n this.Rows = [];\n if (levelMap != null && levelMap.trim().length > 0) {\n let tiles: ITile[] = [];\n levelMap.split('').forEach((char, idx)=>{\n if (char == '\\n') {\n this.Rows.push({tiles: tiles});\n tiles = [];\n } else if (char != '\\r') {\n tiles.push({type: char});\n }\n });\n }\n\n }\n getLevelMap(): string {\n var result: string = \"\";\n this.Rows.forEach((row, index)=> {\n row.tiles.forEach((tile, idx)=>{\n result+= tile.type;\n });\n result += '\\n';\n });\n return result;\n }\n \n}\n\nexport interface ILevelType {\n id: number;\n name: string;\n tiles: string;\n}\n\n\n\n@Injectable()\nexport class LevelService implements OnDestroy {\n \n levelTypes: ILevelType[] = [\n { \n id: 1,\n name: \"Tropical\",\n tiles: \" ABCDEFGHIJKLMNOPQRSTUVWXYZ|abcdefghijklmstuvwxyz|0123`~\"\n },\n { \n id: 2,\n name: \"Desert\",\n tiles: \" ABCDEFGHIOPRW|abcdefghijklmz|23`~\"\n }\n ];\n private _levelBaseUrl = environment.basePozzwareUrl + 'api/levels/';\n\n\n constructor(private _http: HttpClient) {\n \n }\n\n ngOnDestroy() {\n //console.log(\"Destroying MenuService\");\n Object.keys(this).map(k => {\n this[k] = null;\n });\n }\n\n getLevelList(): Observable {\n let headers = new HttpHeaders();\n headers = headers.append(\"Content-Type\", \"application/json\");\n return this._http.get(this._levelBaseUrl, { headers: headers}).map((data: any)=>{ return data });\n }\n\n getLevel(name: string): Observable {\n let headers = new HttpHeaders();\n headers = headers.append(\"Content-Type\", \"application/json\");\n return this._http.get(this._levelBaseUrl + name, { headers: headers})\n .map((data: ILevelData) => {\n return new Level(data.Content);\n });\n }\n\n saveLevel(name: string, content: string): Observable {\n let headers = new HttpHeaders();\n headers = headers.append(\"Content-Type\", \"application/json\");\n return this._http.put(this._levelBaseUrl + name, { value: content }, { responseType: 'text', headers: headers})\n }\n\n getLevelType(id: number): ILevelType{\n var result = this.levelTypes.filter((value, idx)=>{\n if (value.id == id) return value;\n });\n return result[0];\n }\n\n\n\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/_service/level.service.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = ./src/app/app.component.css\n// module chunks = main","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = ./src/app/app.component.html\n// module chunks = main","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 = 'app';\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n//Angular Http module form ajax calls\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\n\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { AppComponent } from './app.component';\nimport { routing } from './app.routing';\nimport { ToasterModule } from 'angular2-toaster';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport {TranslateHttpLoader} from \"@ngx-translate/http-loader\";\nimport { MainLayoutComponent, TilesBarComponent } from './layout';\nimport { HomeComponent, EditComponent, ListComponent } from './pages';\nimport { SlimLoadingBarModule } from 'ng2-slim-loading-bar';\nimport { LevelService } from './_service';\n\n\n// AoT requires an exported function for factories\nexport function HttpLoaderFactory(httpClient: HttpClient) {\n return new TranslateHttpLoader(httpClient, \"api/i18n/\", \".json\");\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n MainLayoutComponent,\n HomeComponent,\n EditComponent,\n ListComponent,\n TilesBarComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n HttpClientModule,\n routing,\n FormsModule,\n ToasterModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n SlimLoadingBarModule.forRoot(),\n ],\n providers: [LevelService],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { Routes, RouterModule } from '@angular/router';\r\nimport { HomeComponent, EditComponent, ListComponent } from './pages';\r\nimport { MainLayoutComponent } from './layout/mainlayout/mainlayout.component';\r\n\r\nconst appRoutes: Routes = [\r\n // App routes goes here here\r\n { \r\n path: 'editor',\r\n component: MainLayoutComponent, \r\n children: [\r\n { path: 'edit', component: EditComponent }\r\n ]\r\n },\r\n //no layout routes\r\n\r\n // otherwise redirect to home\r\n { path: '**', redirectTo: 'home' },\r\n { path: '', component: HomeComponent },\r\n { path: 'list', component: ListComponent },\r\n { path: 'listplay', component: ListComponent }\r\n];\r\n\r\nexport const routing = RouterModule.forRoot(appRoutes);\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","export * from './mainlayout/mainlayout.component';\r\nexport * from './tilesbar/tilesbar.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/layout/index.ts","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n PB Editor\\r\\n \\r\\n Platform Battle Editor\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Version {{version}}\\r\\n
\\r\\n Copyright © 2018 Pozz Bros.\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layout/mainlayout/mainlayout.component.html\n// module id = ./src/app/layout/mainlayout/mainlayout.component.html\n// module chunks = main","\r\nimport { Component, HostListener, ViewChild } from '@angular/core';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Component({\r\n selector: 'pbc-mainlayout',\r\n templateUrl: './mainlayout.component.html'\r\n})\r\nexport class MainLayoutComponent {\r\n pageTitle: string = 'Platform Battle Editor';\r\n version: string = environment.version;\r\n\r\n constructor() {\r\n \r\n }\r\n\r\n \r\n\r\n}\r\n\r\n\r\n\r\n \n\n\n// WEBPACK FOOTER //\n// ./src/app/layout/mainlayout/mainlayout.component.ts","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layout/tilesbar/tilesbar.component.html\n// module id = ./src/app/layout/tilesbar/tilesbar.component.html\n// module chunks = main","module.exports = \".tilebar-panel {\\n border: solid 2px #555;\\n overflow: auto;\\n}\\n.tilebar-panel > div {\\n border: dotted 1px #ccc;\\n display: inline-block;\\n margin: 5px;\\n}\\n.tilebar-panel > div > img {\\n width: 30px;\\n height: 30px;\\n}\\n.tilebar-panel .separator {\\n display: block;\\n height: 10px;\\n border: none;\\n}\\n.tilebar-panel .selected {\\n border: solid 2px blue;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/layout/tilesbar/tilesbar.component.less\n// module id = ./src/app/layout/tilesbar/tilesbar.component.less\n// module chunks = main","import { Component, Input, EventEmitter, Output } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'pbc-tilesbar',\r\n moduleId: module.id,\r\n templateUrl: 'tilesbar.component.html',\r\n styleUrls: ['./tilesbar.component.less']\r\n})\r\nexport class TilesBarComponent {\r\n @Input() tiles: string = null;\r\n @Input() basepath: string = null;\r\n @Output() onTileSelected: EventEmitter = new EventEmitter();\r\n\r\n currentTile: string = \"\";\r\n\r\n getTiles(): string[] {\r\n return this.tiles.split('');\r\n }\r\n\r\n getTileImage(tile: string): string {\r\n var tiles = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n var special_tiles = \"0123456789\";\r\n var objects = \"abcdefghijklmnopqrstuvwxyz\";\r\n if (tile == \" \") return \"assets/images/blank.png\";\r\n if (tile == \"`\") return \"assets/images/respawn.png\";\r\n if (tile == \"~\") return \"assets/images/spawn.png\";\r\n if (tiles.indexOf(tile)>=0) {\r\n return `assets/images/${this.basepath}/Tile_${tile}.png`;\r\n }\r\n if (special_tiles.indexOf(tile)>=0) {\r\n return `assets/images/${this.basepath}/SpecialTile_${tile}.png`;\r\n }\r\n if (objects.indexOf(tile)>=0) {\r\n return `assets/images/${this.basepath}/Obj_${tile}.png`;\r\n }\r\n }\r\n\r\n setCurrentTile(tile: string) {\r\n console.log(tile);\r\n this.currentTile = tile;\r\n this.onTileSelected.emit(tile);\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/layout/tilesbar/tilesbar.component.ts","module.exports = \"\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
Loading Level... Please wait
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Play Level\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/pages/edit/edit.component.html\n// module id = ./src/app/pages/edit/edit.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { SlimLoadingBarService } from 'ng2-slim-loading-bar';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { LevelService, Level, ITile, ILevelType, ILevelRow } from '../../_service';\r\n\r\nimport { saveAs } from 'file-saver';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { TilesBarComponent } from '../../layout';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n\r\n\r\n@Component({\r\n moduleId: module.id,\r\n templateUrl: 'edit.component.html'\r\n})\r\nexport class EditComponent implements OnInit, OnDestroy {\r\n level: Level;\r\n levelList: string[];\r\n currentTile: string = \" \";\r\n isLoading: boolean = false;\r\n levelTypes: ILevelType[];\r\n selectedLevelType: ILevelType = null;\r\n selectedLevelTypeId: number = 1;\r\n levelName: string;\r\n playUrl: string;\r\n\r\n constructor(private translate: TranslateService,\r\n private _toasterService: ToasterService,\r\n private _slimLoadingBarService: SlimLoadingBarService,\r\n private _levelService: LevelService,\r\n private sanitizer: DomSanitizer,\r\n private _route: ActivatedRoute) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.levelName = this._route.snapshot.queryParams['name'] || null;\r\n this.playUrl = environment.basePozzwareUrl + \"WebGame/index.html?\"\r\n if (this.levelName) {\r\n var elements: string[] = this.levelName.split(\"@\");\r\n this.selectedLevelTypeId = parseInt(elements[1]);\r\n this.selectedLevelType = this._levelService.getLevelType(this.selectedLevelTypeId);\r\n this.resetLevel();\r\n } else {\r\n //livello nuovo\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n Object.keys(this).map(k => {\r\n this[k] = null;\r\n });\r\n }\r\n\r\n setImage(tile: ITile): void {\r\n tile.type = this.currentTile;\r\n }\r\n\r\n getLevelWidth(): string {\r\n return (this.level.Rows[0].tiles.length * 30) + \"px\";\r\n }\r\n\r\n getTileImage(tile: ITile): string {\r\n var tiles = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n var path = (this.selectedLevelType && this.selectedLevelType.id) ? this.selectedLevelType.id : 1;\r\n var special_tiles = \"0123456789\";\r\n var objects = \"abcdefghijklmnopqrstuvwxyz\";\r\n if (tile.type == \" \") return \"assets/images/blank.png\";\r\n if (tile.type == \"`\") return \"assets/images/respawn.png\";\r\n if (tile.type == \"~\") return \"assets/images/spawn.png\";\r\n if (tiles.indexOf(tile.type) >= 0) {\r\n return `assets/images/${path}/Tile_${tile.type}.png`;\r\n }\r\n if (special_tiles.indexOf(tile.type) >= 0) {\r\n return `assets/images/${path}/SpecialTile_${tile.type}.png`;\r\n }\r\n if (objects.indexOf(tile.type) >= 0) {\r\n return `assets/images/${path}/Obj_${tile.type}.png`;\r\n }\r\n }\r\n\r\n getLevel(): void {\r\n var formBlob = new Blob([this.level.getLevelMap()], { type: 'text/plain' });\r\n saveAs(formBlob, this.selectedLevelType.name + '_level.txt');\r\n }\r\n\r\n saveLevel(): void {\r\n this._levelService.saveLevel(this.levelName, this.level.getLevelMap()).subscribe(data => {\r\n this._toasterService.pop(\"success\", \"Saved\");\r\n },\r\n error => {\r\n this._toasterService.pop(\"error\", error);\r\n console.error(error);\r\n });\r\n }\r\n\r\n getBackGround(): SafeStyle {\r\n var path = (this.selectedLevelType && this.selectedLevelType.id) ? this.selectedLevelType.id : 1;\r\n const url = `assets/images/${path}/Background.png`;\r\n return this.sanitizer.bypassSecurityTrustStyle(`url(${url})`);\r\n }\r\n\r\n /*\r\n onTypeChange(reset: boolean = true) {\r\n if (this.selectedLevelTypeId > 0) {\r\n var sel = this.levelTypes.filter((value, idx) => {\r\n if (value.id == this.selectedLevelTypeId) return value;\r\n });\r\n this.selectedLevelType = sel[0];\r\n if (reset) this.resetLevel();\r\n }\r\n }\r\n\r\n \r\n resetLevel(): void {\r\n this.level.Rows = [];\r\n for (var r: number = 0; r < this.rows; r++) {\r\n let row: ILevelRow = { tiles: [] }\r\n for (var c: number = 0; c < this.columns; c++) {\r\n if (r == 14 && c == 10) row.tiles.push({ type: \"~\" });\r\n else row.tiles.push({ type: \" \" });\r\n }\r\n this.level.Rows.push(row);\r\n }\r\n\r\n }\r\n */\r\n\r\n resetLevel(): void {\r\n this.isLoading = true;\r\n this._slimLoadingBarService.start();\r\n this._levelService.getLevel(this.levelName).subscribe(data => {\r\n this.level = data;\r\n this.levelTypes = this._levelService.levelTypes;\r\n this.isLoading = false;\r\n this._slimLoadingBarService.complete();\r\n },\r\n error => {\r\n this.isLoading = false;\r\n this._toasterService.pop(\"error\", error);\r\n console.error(error);\r\n });\r\n }\r\n\r\n clearLevel(): void {\r\n this.level.Rows.forEach((row, index)=> {\r\n row.tiles.forEach((tile, idx) => {\r\n tile.type = \" \";\r\n });\r\n });\r\n }\r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/pages/edit/edit.component.ts","module.exports = \"\\n\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\\"Pozzware.com\\\"\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n

Platform Battle - Level Editor

\\n

By POZZBROS

\\n
\\n

Design level for Platform Battle Game!!!

\\n

\\n In this section you can access the Plattform Battle level editor and can design and play your own level.\\n

\\n
\\n
\\n
\\n

1) Edit or create your level using Web based level editor (made with Angular).

\\n \\n
\\n
\\n

2) Play your level on Web GL unity player

\\n \\n
\\n
\\n

3) Download android APK for play your level on mobile android devices

\\n Download apk file\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n If you like this \\\"work in progress\\\" game, please donate to support us. Thank you!\\n \\n
\\n
\\n \\n \\n
\\n \\n\\n
\\n
\\n
\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/pages/home/home.component.html\n// module id = ./src/app/pages/home/home.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n moduleId: module.id,\n templateUrl: 'home.component.html'\n})\nexport class HomeComponent implements OnDestroy {\n\n\n constructor(\n private _router: Router) {\n\n\n }\n\n ngOnDestroy(): void {\n Object.keys(this).map(k => {\n this[k] = null;\n });\n }\n\n editorClick(): void {\n this._router.navigate(['list']);\n }\n\n playerClick(): void {\n this._router.navigate(['listplay']);\n }\n\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/pages/home/home.component.ts","export * from './home/home.component';\r\nexport * from './edit/edit.component';\r\nexport * from './list/list.component';\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pages/index.ts","module.exports = \"
\\r\\n
\\r\\n

Platform Battle - Level Editor

\\r\\n

Select level to Edit or Create a new one

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Level Name
\\r\\n
Level Type
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{getLevelName(level)}}
\\r\\n
{{getLevelType(level)}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Level name:
\\r\\n
= 0) }\\\">\\r\\n \\r\\n = 0)\\\" class=\\\"text-danger animate\\\">\\r\\n Invalid Level Name\\r\\n \\r\\n
\\r\\n
Level type:
\\r\\n
= 0) }\\\">\\r\\n \\r\\n = 0)\\\" class=\\\"text-danger animate\\\">\\r\\n Invalid Level Type\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Columns (Map width in tiles):
\\r\\n
= 0) }\\\">\\r\\n \\r\\n = 0)\\\" class=\\\"text-danger animate\\\">\\r\\n Invalid Columns number (min 50 - max 700)\\r\\n \\r\\n
\\r\\n
Rows (Map height in tiles):
\\r\\n
= 0) }\\\">\\r\\n \\r\\n = 0)\\\" class=\\\"text-danger animate\\\">\\r\\n Invalid Columns number (min 20 - max 500)\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/pages/list/list.component.html\n// module id = ./src/app/pages/list/list.component.html\n// module chunks = main","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ILevelType, INewLevelData, LevelService } from '../../_service';\r\n\r\n@Component({\r\n moduleId: module.id,\r\n templateUrl: 'list.component.html'\r\n})\r\nexport class ListComponent implements OnInit, OnDestroy {\r\n levelList: string[];\r\n isCreatingNew: boolean = false;\r\n levelTypes: ILevelType[];\r\n levelData: INewLevelData = null;\r\n playUrl: string;\r\n validationErrors: string[] = [];\r\n\r\n constructor(\r\n private _levelService: LevelService,\r\n private _toasterService: ToasterService,\r\n private _router: Router) {\r\n\r\n this._levelService.getLevelList().subscribe(list => {\r\n this.levelList = list;\r\n },\r\n error => {\r\n console.error(error);\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.levelTypes = this._levelService.levelTypes;\r\n this.isCreatingNew = false;\r\n this.playUrl = environment.basePozzwareUrl + \"WebGame/index.html?\"\r\n }\r\n \r\n ngOnDestroy(): void {\r\n Object.keys(this).map(k => {\r\n this[k] = null;\r\n });\r\n }\r\n\r\n\r\n\r\n getLevelType(level: string): string {\r\n return this._levelService.getLevelType(parseInt(level.split('@')[1])).name;\r\n }\r\n \r\n getLevelName(level: string): string {\r\n return level.split('@')[0];\r\n }\r\n\r\n editLevel(levelName: string): void {\r\n this._router.navigateByUrl('editor/edit?name=' + levelName);\r\n }\r\n\r\n createNewClick() {\r\n this.isCreatingNew = true;\r\n this.levelData = {\r\n columns: 50,\r\n rows: 20,\r\n name: \"\",\r\n levelType: 0\r\n };\r\n }\r\n\r\n confirmClick() {\r\n if (this.checkData(this.levelData)) {\r\n var levelName: string = `${this.levelData.name}@${this.levelData.levelType}`;\r\n this._levelService.saveLevel(levelName, this.getLevelMap(this.levelData.columns, this.levelData.rows)).subscribe(data => {\r\n this._router.navigateByUrl('editor/edit?name=' + levelName);\r\n },\r\n error => {\r\n this._toasterService.pop(\"error\", error);\r\n console.error(error);\r\n });\r\n }\r\n }\r\n\r\n private getLevelMap(columns: number, rows: number): string {\r\n var result: string = \"\";\r\n for(var r: number = 0; r < rows; r++) {\r\n for(var c: number = 0; c < columns; c++) {\r\n if (r==15 && c==10) result += \"~\"\r\n else if (r==16 && c==10) result += \"A\"\r\n else result+= \" \";\r\n }\r\n result += '\\n';\r\n }\r\n return result;\r\n }\r\n\r\n private checkData(data: INewLevelData): boolean {\r\n this.validationErrors = [];\r\n var pattern: RegExp=/^[A-Za-z0-9_]*$/;\r\n if (data.name.length <= 0 || !pattern.test(data.name)) {\r\n this.validationErrors.push(\"invalidName\");\r\n }\r\n if (data.columns < 50 || data.columns > 700) {\r\n this.validationErrors.push(\"invalidColumns\");\r\n }\r\n if (data.rows < 20 || data.rows > 500) {\r\n this.validationErrors.push(\"invalidRows\");\r\n }\r\n\r\n var found = false;\r\n this.levelTypes.forEach((value)=>{\r\n if (value.id == data.levelType) found = true;\r\n });\r\n if (!found) {\r\n this.validationErrors.push(\"invalidLevelType\");\r\n }\r\n\r\n return this.validationErrors.length == 0;\r\n }\r\n \r\n\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/pages/list/list.component.ts","export const environment = {\n production: true,\n version: \"0.0.1\",\n basePozzwareUrl: \"https://pozzware.com/\"\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { 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 .catch(err => console.log(err));\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts"],"sourceRoot":"webpack:///"}