Migrate to Version 2
Why Migrate?
Version 1 will not be maintained anymore. Version 2 gets rid of old deprecated methods and properties. This speeds up development. As a bonus, version 2 uses the version of Phaser you are using for your game instead of bringing its own copy. This means that the file size of GridEngine 2 is < 100kb instead of ~1mb as in GridEngine 1.
This guide helps you to migrate from version 1.x to version 2.x.
moveLeft
, moveRight
, moveUp
, moveDown
Replace These methods were removed because there is a generic method move
, that supports all 8 directions.
For instance, replace moveLeft("player")
with move("player", "left")
;
Phaser.Math.Vector2
Replace This dependency to phaser was removed. In version 2, all the public methods of GridEngine will take and return Position objects instead of Phaser.Math.Vector2
. Position objects are simpler and only take x and y coordinates. Please note that a Phaser.Math.Vector2
is also a Position
because it has properties x
and y
. So you can keep passing these as input if you like.
positionChanged()
to positionChangeStarted()
Rename To keep the observable names consistent, positionChanged()
has been renamed to positionChangeStarted()
. This is consistent to positionChangeFinished()
.
Change Observable Return Types
In order to be consistent through all observables, the return types of movementStarted()
, movementStopped()
and directionChanged()
have been changed from an array [string, Direction] to an object: {charId: string, direction: Direction}.
The following example code needs to be transformed as follows:
this.gridEngine.movementStarted().subscribe(([charId, direction]) => {
// ...
});
becomes
this.gridEngine.movementStarted().subscribe(({ charId, direction }) => {
// ...
});
Rename Tile and Tile Layer Properties
All tile and tile layer properties that previously started with gm_
have been renamed and now start with ge_
.
Further, the tile property collides
is not a default property anymore. You can either rename it in your tilemap to ge_collide
or you can set it as collisionTilePropertyName
in the config.
firstLayerAboveChar
Config Property
Remove The deprecated firstLayerAboveChar
config property has been removed. Use ge_alwaysTop
tilemap layer property instead.
characterIndex
Character Config Property
Remove The deprecated characterIndex
character config property has been removed. Use walkingAnimationMapping
instead.
walkingAnimationEnabled
Remove The character config property walkingAnimationEnabled
has been removed. Simply don't provide a walkingAnimationMapping
to disable walking animations.