11import { Scene } from "phaser" ;
2+ import { AssetsConfig } from "../configs" ;
23import { Hero } from "../game-objects" ;
34import { Sprite } from "../phaser-aliases" ;
45import {
@@ -31,11 +32,24 @@ export class Game extends Scene {
3132 super ( SceneTag . GAME ) ;
3233 }
3334
35+ public preload ( ) : void {
36+ AssetsConfig . plugins . forEach ( ( config ) =>
37+ this . load . scenePlugin (
38+ config . tag ,
39+ config . url ,
40+ config . systemKey ,
41+ config . sceneKey
42+ )
43+ ) ;
44+ }
45+
3446 public create ( ) : void {
3547 if ( ! this . input . keyboard ) {
3648 throw Error ( "Keyboard plugin is not available" ) ;
3749 }
3850
51+ console . log ( "sys" , this . sys ) ;
52+
3953 this . sound . play ( BackgroundSound . RIVER_FLOWING_INSECTS , {
4054 loop : true ,
4155 } ) ;
@@ -92,27 +106,53 @@ export class Game extends Scene {
92106 }
93107
94108 private generateMap ( ) : void {
95- const map = this . make . tilemap ( { key : TilemapTag . FOREST } ) ;
109+ const tilemap = this . make . tilemap ( { key : TilemapTag . FOREST } ) ;
96110
97- const baseTileset = map . addTilesetImage (
111+ const baseTileset = tilemap . addTilesetImage (
98112 "base-tiles" ,
99113 TilesetTag . FOREST_BASE ,
100114 32 ,
101115 32 ,
102116 1 ,
103117 2
104118 ) ;
105- const decorativeTileset = map . addTilesetImage (
119+ const decorativeTileset = tilemap . addTilesetImage (
106120 "decorative-tiles" ,
107121 TilesetTag . FOREST_DECORATIVE ,
108122 32 ,
109123 32 ,
110124 1 ,
111125 2
112126 ) ;
127+ const waterAnimationTileset = tilemap . addTilesetImage (
128+ "water-animation" ,
129+ TilesetTag . FOREST_WATER_ANIMATION ,
130+ 32 ,
131+ 32 ,
132+ 1 ,
133+ 2
134+ ) ;
135+
136+ const treeBright3AnimationTileset = tilemap . addTilesetImage (
137+ "tree_bright3" ,
138+ TilesetTag . FOREST_TREE_BRIGHT_3_ANIMATION ,
139+ 32 ,
140+ 32 ,
141+ 1 ,
142+ 2
143+ ) ;
144+
145+ const treeBright4AnimationTileset = tilemap . addTilesetImage (
146+ "tree_bright4" ,
147+ TilesetTag . FOREST_TREE_BRIGHT_4_ANIMATION ,
148+ 32 ,
149+ 32 ,
150+ 1 ,
151+ 2
152+ ) ;
113153
114154 this . _colliderGroup = this . physics . add . staticGroup ( ) ;
115- const colliders = map . createFromObjects ( "Colliders" , {
155+ const colliders = tilemap . createFromObjects ( "Colliders" , {
116156 type : "collider" ,
117157 classType : Sprite ,
118158 } ) ;
@@ -125,7 +165,7 @@ export class Game extends Scene {
125165 collider . alpha = 0 ;
126166 } ) ;
127167
128- const positions = map . createFromObjects ( "Positions" , {
168+ const positions = tilemap . createFromObjects ( "Positions" , {
129169 name : "hero" ,
130170 } ) ;
131171
@@ -156,13 +196,26 @@ export class Game extends Scene {
156196 }
157197 ) ;
158198
159- if ( ! baseTileset || ! decorativeTileset ) {
199+ if (
200+ ! baseTileset ||
201+ ! decorativeTileset ||
202+ ! waterAnimationTileset ||
203+ ! treeBright3AnimationTileset ||
204+ ! treeBright4AnimationTileset
205+ ) {
160206 throw Error ( "Tileset not found" ) ;
161207 }
162208
163- map . createLayer ( "background" , baseTileset ) ;
164- map . createLayer ( "foreground" , baseTileset ) ;
165- map . createLayer ( "decorations" , [ baseTileset , decorativeTileset ] ) ;
209+ tilemap . createLayer ( "background" , baseTileset ) ;
210+ tilemap . createLayer ( "foreground" , [ baseTileset , waterAnimationTileset ] ) ;
211+ tilemap . createLayer ( "decorations" , [
212+ baseTileset ,
213+ decorativeTileset ,
214+ treeBright3AnimationTileset ,
215+ treeBright4AnimationTileset ,
216+ ] ) ;
217+
218+ this . sys . animatedTiles . init ( tilemap ) ;
166219 }
167220
168221 private createPlayer ( x : number , y : number ) : void {
0 commit comments