90 lines
2.1 KiB
JavaScript
90 lines
2.1 KiB
JavaScript
|
/**
|
||
|
* GameLib.D3.Shadow.Directional
|
||
|
* @param graphics GameLib.GraphicsRuntime
|
||
|
* @param apiDirectionalShadow
|
||
|
* @constructor
|
||
|
*/
|
||
|
GameLib.D3.Shadow.Directional = function(
|
||
|
graphics,
|
||
|
apiDirectionalShadow
|
||
|
) {
|
||
|
|
||
|
this.graphics = graphics;
|
||
|
this.graphics.isNotThreeThrow();
|
||
|
|
||
|
if (GameLib.Utils.UndefinedOrNull(apiDirectionalShadow)) {
|
||
|
apiDirectionalShadow = {
|
||
|
shadowType : GameLib.D3.API.Shadow.SHADOW_TYPE_DIRECTIONAL
|
||
|
};
|
||
|
}
|
||
|
|
||
|
GameLib.D3.API.Shadow.Directional.call(
|
||
|
this,
|
||
|
apiDirectionalShadow
|
||
|
);
|
||
|
|
||
|
if (this.camera instanceof GameLib.D3.API.Camera.Orthographic) {
|
||
|
this.camera = new GameLib.D3.Camera.Orthographic(
|
||
|
this.graphics,
|
||
|
this.camera
|
||
|
)
|
||
|
}
|
||
|
|
||
|
GameLib.D3.Shadow.call(
|
||
|
this,
|
||
|
this.graphics,
|
||
|
apiDirectionalShadow
|
||
|
);
|
||
|
|
||
|
};
|
||
|
|
||
|
GameLib.D3.Shadow.Directional.prototype = Object.create(GameLib.D3.Shadow.prototype);
|
||
|
GameLib.D3.Shadow.Directional.prototype.constructor = GameLib.D3.Shadow.Directional;
|
||
|
|
||
|
/**
|
||
|
* Creates a shadow instance
|
||
|
* @returns {*}
|
||
|
*/
|
||
|
GameLib.D3.Shadow.Directional.prototype.createInstance = function() {
|
||
|
|
||
|
this.instance = {};
|
||
|
|
||
|
GameLib.D3.Shadow.prototype.createInstance.call(this);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Updates the instance with the current state
|
||
|
*/
|
||
|
GameLib.D3.Shadow.Directional.prototype.updateInstance = function(property) {
|
||
|
|
||
|
if (property === 'camera') {
|
||
|
|
||
|
console.warn('todo: updateInstance for directional shadow camera instance');
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
GameLib.D3.Shadow.prototype.updateInstance.call(this, property);
|
||
|
};
|
||
|
|
||
|
/**
|
||
|
* Converts a GameLib.D3.Shadow to a GameLib.D3.API.Shadow
|
||
|
* @returns {GameLib.D3.API.Shadow}
|
||
|
*/
|
||
|
GameLib.D3.Shadow.Directional.prototype.toApiObject = function() {
|
||
|
|
||
|
var apiShadow = GameLib.D3.Shadow.prototype.toApiObject.call(this);
|
||
|
|
||
|
var apiDirectionalShadow = new GameLib.D3.API.Shadow.Directional(
|
||
|
apiShadow
|
||
|
);
|
||
|
|
||
|
return apiDirectionalShadow;
|
||
|
};
|
||
|
|
||
|
GameLib.D3.Shadow.Directional.prototype.updateFromInstance = function() {
|
||
|
|
||
|
|
||
|
GameLib.D3.Shadow.prototype.updateFromInstance.call(this);
|
||
|
|
||
|
};
|