mirror of
https://github.com/photonstorm/phaser
synced 2024-11-10 23:24:41 +00:00
Events.onDestroy is a new signal that is dispatched whenever the parent is being destroyed. It's dispatched at the start of the destroy process, allowing you to perform any additional house cleaning needed (thanks @jonkelling #1084)
Group.onDestroy is a new signal that is dispatched whenever the Group is being destroyed. It's dispatched at the start of the destroy process, allowing you to perform any additional house cleaning needed (thanks @jonkelling #1084)
This commit is contained in:
parent
6b4510f693
commit
fa45d7feff
8 changed files with 115 additions and 0 deletions
|
@ -83,6 +83,8 @@ Version 2.1.0 - "Cairhien" - -in development-
|
|||
* Phaser.Device.isAndroidStockBrowser will inform you if your game is running in a stock Android browser (rather than Chrome) where you may wish to scale down effects, disable WebGL, etc (thanks @lucbloom #989)
|
||||
* Phaser.Camera has a new property `position` which is a Point object that allows you to get or set the camera position without having to read both the x and y values (thanks @Zielak #1015)
|
||||
* TileSprite now has the `alive` property, which should help with some Group operations (thanks @jonkelling #1085)
|
||||
* Events.onDestroy is a new signal that is dispatched whenever the parent is being destroyed. It's dispatched at the start of the destroy process, allowing you to perform any additional house cleaning needed (thanks @jonkelling #1084)
|
||||
* Group.onDestroy is a new signal that is dispatched whenever the Group is being destroyed. It's dispatched at the start of the destroy process, allowing you to perform any additional house cleaning needed (thanks @jonkelling #1084)
|
||||
|
||||
### Updates
|
||||
|
||||
|
|
|
@ -123,6 +123,11 @@ Phaser.Group = function (game, parent, name, addToStage, enableBody, physicsBody
|
|||
*/
|
||||
this.physicsBodyType = physicsBodyType;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onDestroy - This signal is dispatched when the parent is destoyed.
|
||||
*/
|
||||
this.onDestroy = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {string} _sortProperty - The property on which children are sorted.
|
||||
* @private
|
||||
|
@ -1688,6 +1693,8 @@ Phaser.Group.prototype.destroy = function (destroyChildren, soft) {
|
|||
if (typeof destroyChildren === 'undefined') { destroyChildren = true; }
|
||||
if (typeof soft === 'undefined') { soft = false; }
|
||||
|
||||
this.onDestroy.dispatch(this, destroyChildren, soft);
|
||||
|
||||
this.removeAll(destroyChildren);
|
||||
|
||||
this.cursor = null;
|
||||
|
|
|
@ -23,33 +23,114 @@
|
|||
*/
|
||||
Phaser.Events = function (sprite) {
|
||||
|
||||
/**
|
||||
* @property {Phaser.Sprite} parent - The Sprite that owns these events.
|
||||
*/
|
||||
this.parent = sprite;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onAddedToGroup - This signal is dispatched when the parent is added to a new Group.
|
||||
*/
|
||||
this.onAddedToGroup = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onRemovedFromGroup - This signal is dispatched when the parent is removed from a Group.
|
||||
*/
|
||||
this.onRemovedFromGroup = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onDestroy - This signal is dispatched when the parent is destoyed.
|
||||
*/
|
||||
this.onDestroy = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onKilled - This signal is dispatched when the parent is killed.
|
||||
*/
|
||||
this.onKilled = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onRevived - This signal is dispatched when the parent is revived.
|
||||
*/
|
||||
this.onRevived = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onOutOfBounds - This signal is dispatched when the parent leaves the world bounds (only if Sprite.checkWorldBounds is true).
|
||||
*/
|
||||
this.onOutOfBounds = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onEnterBounds - This signal is dispatched when the parent returns within the world bounds (only if Sprite.checkWorldBounds is true).
|
||||
*/
|
||||
this.onEnterBounds = new Phaser.Signal();
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onInputOver - This signal is dispatched if the parent is inputEnabled and receives an over event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onInputOver = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onInputOut - This signal is dispatched if the parent is inputEnabled and receives an out event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onInputOut = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onInputDown - This signal is dispatched if the parent is inputEnabled and receives a down event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onInputDown = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onInputUp - This signal is dispatched if the parent is inputEnabled and receives an up event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onInputUp = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onDragStart - This signal is dispatched if the parent is inputEnabled and receives a drag start event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onDragStart = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onDragStop - This signal is dispatched if the parent is inputEnabled and receives a drag stop event from a Pointer.
|
||||
* @default null
|
||||
*/
|
||||
this.onDragStop = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onAnimationStart - This signal is dispatched when the parent has an animation that is played.
|
||||
* @default null
|
||||
*/
|
||||
this.onAnimationStart = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onAnimationComplete - This signal is dispatched when the parent has an animation that finishes playing.
|
||||
* @default null
|
||||
*/
|
||||
this.onAnimationComplete = null;
|
||||
|
||||
/**
|
||||
* @property {Phaser.Signal} onAnimationLoop - This signal is dispatched when the parent has an animation that loops playback.
|
||||
* @default null
|
||||
*/
|
||||
this.onAnimationLoop = null;
|
||||
|
||||
};
|
||||
|
||||
Phaser.Events.prototype = {
|
||||
|
||||
/**
|
||||
* Removes all events.
|
||||
*
|
||||
* @method destroy
|
||||
*/
|
||||
destroy: function () {
|
||||
|
||||
this.parent = null;
|
||||
|
||||
this.onDestroy.dispose();
|
||||
this.onAddedToGroup.dispose();
|
||||
this.onRemovedFromGroup.dispose();
|
||||
this.onKilled.dispose();
|
||||
|
|
|
@ -386,6 +386,11 @@ Phaser.Image.prototype.destroy = function(destroyChildren) {
|
|||
|
||||
this._cache[8] = 1;
|
||||
|
||||
if (this.events)
|
||||
{
|
||||
this.events.onDestroy.dispatch(this);
|
||||
}
|
||||
|
||||
if (this.parent)
|
||||
{
|
||||
if (this.parent instanceof Phaser.Group)
|
||||
|
|
|
@ -411,6 +411,11 @@ Phaser.Rope.prototype.destroy = function(destroyChildren) {
|
|||
|
||||
this._cache[8] = 1;
|
||||
|
||||
if (this.events)
|
||||
{
|
||||
this.events.onDestroy.dispatch(this);
|
||||
}
|
||||
|
||||
if (this.filters)
|
||||
{
|
||||
this.filters = null;
|
||||
|
|
|
@ -644,6 +644,11 @@ Phaser.Sprite.prototype.destroy = function(destroyChildren) {
|
|||
|
||||
this._cache[8] = 1;
|
||||
|
||||
if (this.events)
|
||||
{
|
||||
this.events.onDestroy.dispatch(this);
|
||||
}
|
||||
|
||||
if (this.parent)
|
||||
{
|
||||
if (this.parent instanceof Phaser.Group)
|
||||
|
|
|
@ -220,6 +220,11 @@ Phaser.Text.prototype.destroy = function (destroyChildren) {
|
|||
|
||||
this._cache[8] = 1;
|
||||
|
||||
if (this.events)
|
||||
{
|
||||
this.events.onDestroy.dispatch(this);
|
||||
}
|
||||
|
||||
if (this.parent)
|
||||
{
|
||||
if (this.parent instanceof Phaser.Group)
|
||||
|
|
|
@ -442,6 +442,11 @@ Phaser.TileSprite.prototype.destroy = function(destroyChildren) {
|
|||
|
||||
this._cache[8] = 1;
|
||||
|
||||
if (this.events)
|
||||
{
|
||||
this.events.onDestroy.dispatch(this);
|
||||
}
|
||||
|
||||
if (this.filters)
|
||||
{
|
||||
this.filters = null;
|
||||
|
|
Loading…
Reference in a new issue