File: src\core\StateConfig.ts
/**
*
* @module Kiwi
*
*/
module Kiwi {
/**
* A lightweight object that contains values relating to the configuration of a State in a Kiwi Game.
*
* @class StateConfig
* @namespace Kiwi
* @constructor
* @param parent {Kiwi.State} The State that this configuration object belongs to.
* @param name {String} The name of the state which was created.
* @return {Kiwi.StateConfig}
*
*/
export class StateConfig {
constructor(parent: Kiwi.State, name: string) {
this._state = parent;
this.name = name;
//If it has a preload method.
//*cough* of course it does.
if (typeof this._state['preload'] === 'function') {
this.hasPreloader = true;
}
}
/**
* The type of object that this is.
* @method objType
* @return {String} "StateConfig"
* @public
*/
public objType() {
return "StateConfig";
}
/**
* The state this StateConfig belongs to.
* @property _state
* @type Kiwi.State
* @private
*/
private _state: Kiwi.State;
/**
* The name of the State, must be unique within your game.
* @property name
* @type String
* @public
*/
public name: string = '';
/**
* Not used. Deprecated as of version 1.3.0
*
* @property isPersistent
* @type Boolean
* @default false
* @deprecated
* @since 1.3.0
* @public
*/
public isPersistent: boolean = false;
/**
* If this State has been created (the create method has been executed).
* Essentually has the same meaning as 'isReady'.
* @property isCreated
* @type boolean
* @default false
* @public
*/
public isCreated: boolean = false;
/**
* If the State has been initialised already (so the Boot and Init methods have been executed already).
* A State only get Initialised once which is when it switched to for this first time.
* @property isInitialised
* @type boolean
* @default false
* @public
*/
public isInitialised: boolean = false;
/**
* If the State that this config is on is 'ready' to be used (e.g. all the assets have been loaded and libraries complied)
* or if it isn't and so it is still at the 'loading' stage.
* @property isReady
* @type boolean
* @default false
* @public
*/
public isReady: boolean = false;
/**
* If the State that this config is on contains a Preloader Method.
*
* Deprecated as of 1.3.0 of Kiwi as it is not currently in use.
*
* @property hasPreloader
* @type boolean
* @default false
* @deprecated
* @since 1.3.0
* @public
*/
public hasPreloader: boolean = false;
/**
* The number of times the State that this config belongs to has been active/used.
* @property runCount
* @type Number
* @default 0
* @public
*/
public runCount: number = 0;
/*
* Not in use.
*
* Deprecated as of version 1.3.0 since there is only a single type of State currently.
*
* @property type
* @type Number
* @default 0
* @deprecated
* @since 1.3.0
* @public
*/
public type: number = 0;
/**
* Stores any parameters that are to be passed to the init method when the State that this config is on is switched to.
* @property initParams
* @type Array
* @public
*/
public initParams;
/**
* Stores any parameters that are to be passed to the create method when the State that this config is on is switched to.
* @property createParams
* @type Array
* @public
*/
public createParams;
/**
* Stores any parameters that are to be passed to the preload method when the State that this config is on is switched to.
* @property preloadParams
* @type Array
* @since 1.3.0
* @public
*/
public preloadParams;
/**
* Resets the properties contained on this StateConfig object.
* This is executed when a State is about to be destroyed as so reset's it to be switched to again.
* @method reset
* @public
*/
public reset() {
this.isReady = false;
this.isCreated = false;
this.createParams = [];
this.initParams = [];
}
}
}