phaser/Phaser/State.ts

156 lines
4.3 KiB
TypeScript
Raw Normal View History

2013-04-12 16:19:56 +00:00
/// <reference path="Game.ts" />
2013-04-18 13:16:18 +00:00
/**
2013-04-18 15:49:08 +00:00
* Phaser - State
*
* This is a base State class which can be extended if you are creating your game using TypeScript.
2013-04-18 13:16:18 +00:00
*/
module Phaser {
export class State {
/**
* State constructor
* Create a new <code>State</code>.
*/
2013-04-18 13:16:18 +00:00
constructor(game: Game) {
this.game = game;
2013-05-22 23:01:58 +00:00
this.add = game.add;
2013-04-18 13:16:18 +00:00
this.camera = game.camera;
this.cache = game.cache;
this.input = game.input;
this.load = game.load;
2013-04-18 13:16:18 +00:00
this.math = game.math;
this.sound = game.sound;
this.stage = game.stage;
this.time = game.time;
this.tweens = game.tweens;
this.world = game.world;
}
/**
* Reference to Game.
*/
2013-04-18 13:16:18 +00:00
public game: Game;
/**
* Currently used camera.
* @type {Camera}
*/
2013-04-18 13:16:18 +00:00
public camera: Camera;
2013-05-16 01:36:58 +00:00
/**
* Reference to the assets cache.
* @type {Cache}
*/
2013-04-18 13:16:18 +00:00
public cache: Cache;
2013-05-16 01:36:58 +00:00
2013-05-22 23:01:58 +00:00
/**
* Reference to the GameObject Factory.
* @type {GameObjectFactory}
*/
public add: GameObjectFactory;
/**
* Reference to the input manager
* @type {Input}
*/
2013-04-18 13:16:18 +00:00
public input: Input;
2013-05-16 01:36:58 +00:00
/**
* Reference to the assets loader.
* @type {Loader}
*/
public load: Loader;
2013-05-16 01:36:58 +00:00
/**
* Reference to the math helper.
* @type {GameMath}
*/
2013-04-18 13:16:18 +00:00
public math: GameMath;
2013-05-16 01:36:58 +00:00
/**
* Reference to the sound manager.
* @type {SoundManager}
*/
2013-04-18 13:16:18 +00:00
public sound: SoundManager;
2013-05-16 01:36:58 +00:00
/**
* Reference to the stage.
* @type {Stage}
*/
2013-04-18 13:16:18 +00:00
public stage: Stage;
2013-05-16 01:36:58 +00:00
/**
* Reference to game clock.
* @type {Time}
*/
2013-04-18 13:16:18 +00:00
public time: Time;
2013-05-16 01:36:58 +00:00
/**
* Reference to the tween manager.
* @type {TweenManager}
*/
2013-04-18 13:16:18 +00:00
public tweens: TweenManager;
2013-05-16 01:36:58 +00:00
/**
* Reference to the world.
* @type {World}
*/
2013-04-18 13:16:18 +00:00
public world: World;
2013-05-16 01:36:58 +00:00
// Override these in your own States
2013-04-18 13:16:18 +00:00
/**
* Override this method to add some load operations.
* If you need to use the loader, you may need to use them here.
*/
2013-04-18 13:16:18 +00:00
public init() { }
2013-05-16 01:36:58 +00:00
/**
* This method is called after the game engine successfully switches states.
* Feel free to add any setup code here.(Do not load anything here, override init() instead)
*/
2013-04-18 13:16:18 +00:00
public create() { }
2013-05-16 01:36:58 +00:00
/**
* Put update logic here.
*/
2013-04-18 13:16:18 +00:00
public update() { }
2013-05-16 01:36:58 +00:00
/**
* Put render operations here.
*/
2013-04-18 13:16:18 +00:00
public render() { }
2013-05-16 01:36:58 +00:00
/**
* This method will be called when game paused.
*/
2013-04-18 13:16:18 +00:00
public paused() { }
2013-05-16 01:36:58 +00:00
/**
* This method will be called when the state is destroyed
*/
public destroy() { }
/**
* Checks for overlaps between two objects using the world QuadTree. Can be GameObject vs. GameObject, GameObject vs. Group or Group vs. Group.
* Note: Does not take the objects scrollFactor into account. All overlaps are check in world space.
* @param object1 The first GameObject or Group to check. If null the world.group is used.
* @param object2 The second GameObject or Group to check.
* @param notifyCallback A callback function that is called if the objects overlap. The two objects will be passed to this function in the same order in which you passed them to Collision.overlap.
* @param processCallback A callback function that lets you perform additional checks against the two objects if they overlap. If this is set then notifyCallback will only be called if processCallback returns true.
* @param context The context in which the callbacks will be called
* @returns {boolean} true if the objects overlap, otherwise false.
*/
2013-05-29 01:58:56 +00:00
//public collide(objectOrGroup1 = null, objectOrGroup2 = null, notifyCallback = null, context? = this.game.callbackContext): bool {
// return this.collision.overlap(objectOrGroup1, objectOrGroup2, notifyCallback, Collision.separate, context);
//}
2013-04-12 16:19:56 +00:00
}
}