@akashic/akashic-engine
Advanced tools
Comparing version 3.2.1 to 3.2.2
@@ -424,3 +424,5 @@ "use strict"; | ||
case "audio": | ||
var system = conf.systemId ? this._audioSystemManager[conf.systemId] : this._audioSystemManager[this._defaultAudioSystemId]; | ||
var system = conf.systemId | ||
? this._audioSystemManager[conf.systemId] | ||
: this._audioSystemManager[this._defaultAudioSystemId]; | ||
return resourceFactory.createAudioAsset(id, uri, conf.duration, system, !!conf.loop, conf.hint); | ||
@@ -427,0 +429,0 @@ case "text": |
@@ -290,4 +290,4 @@ "use strict"; | ||
renderer.translate(this.x, this.y); | ||
var goDown = this.renderSelf(renderer, camera); | ||
if (goDown && this.children) { | ||
var goDown_1 = this.renderSelf(renderer, camera); | ||
if (goDown_1 && this.children) { | ||
var children = this.children; | ||
@@ -294,0 +294,0 @@ var len = children.length; |
@@ -176,9 +176,9 @@ "use strict"; | ||
for (var i = 0; i <= effectiveTextLastIndex; ++i) { | ||
var code_1 = Util_1.Util.charCodeAt(this.text, i); | ||
if (!code_1) { | ||
var code = Util_1.Util.charCodeAt(this.text, i); | ||
if (!code) { | ||
continue; | ||
} | ||
var glyph = this.font.glyphForCharacter(code_1); | ||
var glyph = this.font.glyphForCharacter(code); | ||
if (!glyph) { | ||
this._outputOfWarnLogWithNoGlyph(code_1, "_invalidateSelf()"); | ||
this._outputOfWarnLogWithNoGlyph(code, "_invalidateSelf()"); | ||
continue; | ||
@@ -185,0 +185,0 @@ } |
@@ -22,3 +22,3 @@ "use strict"; | ||
try { | ||
var actualString; | ||
var actualString = void 0; | ||
if (actual && actual.constructor && actual.constructor.name) { | ||
@@ -25,0 +25,0 @@ actualString = actual.constructor.name; |
@@ -23,2 +23,3 @@ import { GameConfiguration } from "@akashic/game-configuration"; | ||
import { Scene } from "./Scene"; | ||
import { SnapshotSaveRequest } from "./SnapshotSaveRequest"; | ||
import { Storage } from "./Storage"; | ||
@@ -121,3 +122,3 @@ import { SurfaceAtlasSet } from "./SurfaceAtlasSet"; | ||
* 6. LoadingSceneを変更するため、Game#loadingSceneにゲーム開発者の定義したLoadingSceneを指定する | ||
* 7. スナップショットに対応するため、Game#saveSnapshot()を呼び出す | ||
* 7. スナップショットに対応するため、Game#requestSaveSnapshot()を呼び出す | ||
* 8. 現在フォーカスされているCamera情報を得るため、Game#focusingCameraにアクセスする | ||
@@ -729,2 +730,4 @@ * 9. AudioSystemを直接制御するため、Game#audioにアクセスする | ||
* 戻り値は、スナップショットの保存を行うべきであれば真、でなければ偽である。 | ||
* | ||
* @deprecated 非推奨である。`saveSnapshot()` (非推奨) の利用時にしか必要ないため。アクティブインスタンスの判定には `isActiveInstance()` を用いること。 | ||
*/ | ||
@@ -746,5 +749,24 @@ shouldSaveSnapshot(): boolean; | ||
* @param timestamp 保存時の時刻。 `g.TimestampEvent` を利用するゲームの場合、それらと同じ基準の時間情報を与えなければならない。 | ||
* @deprecated 非推奨である。互換性のために残されているが、この関数では適切なタイミングのスナップショット保存ができない場合がある。代わりに `requestSaveSnapshot()` を利用すること。 | ||
*/ | ||
saveSnapshot(snapshot: any, timestamp?: number): void; | ||
/** | ||
* スナップショットを保存する。 | ||
* | ||
* (`saveSnapshot()` と同じ機能だが、インターフェースが異なる。こちらを利用すること。) | ||
* | ||
* 引数として与えた関数 `func()` がフレームの終了時に呼び出される。 | ||
* エンジンは、`func()` の返した値に基づいて、実行環境にスナップショットの保存を要求する。 | ||
* | ||
* 保存されたスナップショットは、必要に応じてゲームの起動時に与えられる。 | ||
* 詳細は `g.GameMainParameterObject` を参照のこと。 | ||
* | ||
* このメソッドを 1 フレーム中に複数回呼び出した場合、引数に与えた関数 `func()` の呼び出し順は保証されない。 | ||
* (スナップショットはフレームごとに定まるので、1フレーム中に複数回呼び出す必要はない。) | ||
* | ||
* @param func フレーム終了時に呼び出す関数。 `SnapshotSaveRequest` を返した場合、スナップショット保存が要求される。 | ||
* @param owner func の呼び出し時に `this` として使われる値。指定しなかった場合、 `undefined` 。 | ||
*/ | ||
requestSaveSnapshot(func: () => SnapshotSaveRequest | null, owner?: any): void; | ||
/** | ||
* 現在時刻を取得する。 | ||
@@ -751,0 +773,0 @@ * |
@@ -31,3 +31,3 @@ "use strict"; | ||
* 6. LoadingSceneを変更するため、Game#loadingSceneにゲーム開発者の定義したLoadingSceneを指定する | ||
* 7. スナップショットに対応するため、Game#saveSnapshot()を呼び出す | ||
* 7. スナップショットに対応するため、Game#requestSaveSnapshot()を呼び出す | ||
* 8. 現在フォーカスされているCamera情報を得るため、Game#focusingCameraにアクセスする | ||
@@ -480,2 +480,4 @@ * 9. AudioSystemを直接制御するため、Game#audioにアクセスする | ||
* 戻り値は、スナップショットの保存を行うべきであれば真、でなければ偽である。 | ||
* | ||
* @deprecated 非推奨である。`saveSnapshot()` (非推奨) の利用時にしか必要ないため。アクティブインスタンスの判定には `isActiveInstance()` を用いること。 | ||
*/ | ||
@@ -499,2 +501,3 @@ Game.prototype.shouldSaveSnapshot = function () { | ||
* @param timestamp 保存時の時刻。 `g.TimestampEvent` を利用するゲームの場合、それらと同じ基準の時間情報を与えなければならない。 | ||
* @deprecated 非推奨である。互換性のために残されているが、この関数では適切なタイミングのスナップショット保存ができない場合がある。代わりに `requestSaveSnapshot()` を利用すること。 | ||
*/ | ||
@@ -505,2 +508,36 @@ Game.prototype.saveSnapshot = function (snapshot, timestamp) { | ||
/** | ||
* スナップショットを保存する。 | ||
* | ||
* (`saveSnapshot()` と同じ機能だが、インターフェースが異なる。こちらを利用すること。) | ||
* | ||
* 引数として与えた関数 `func()` がフレームの終了時に呼び出される。 | ||
* エンジンは、`func()` の返した値に基づいて、実行環境にスナップショットの保存を要求する。 | ||
* | ||
* 保存されたスナップショットは、必要に応じてゲームの起動時に与えられる。 | ||
* 詳細は `g.GameMainParameterObject` を参照のこと。 | ||
* | ||
* このメソッドを 1 フレーム中に複数回呼び出した場合、引数に与えた関数 `func()` の呼び出し順は保証されない。 | ||
* (スナップショットはフレームごとに定まるので、1フレーム中に複数回呼び出す必要はない。) | ||
* | ||
* @param func フレーム終了時に呼び出す関数。 `SnapshotSaveRequest` を返した場合、スナップショット保存が要求される。 | ||
* @param owner func の呼び出し時に `this` として使われる値。指定しなかった場合、 `undefined` 。 | ||
*/ | ||
Game.prototype.requestSaveSnapshot = function (func, owner) { | ||
var _this = this; | ||
// 他の箇所と異なり push でなく unshift しているのは、他の処理 (シーン遷移処理) と重なった時に先行するため。 | ||
// 効率はよくないが、このメソッドの利用頻度は高くないので許容。 | ||
this._postTickTasks.unshift({ | ||
type: 3 /* Call */, | ||
fun: function () { | ||
if (!_this.handlerSet.shouldSaveSnapshot()) | ||
return; | ||
var req = func.call(owner); | ||
if (!req) | ||
return; // (null に限らず) falsy は全部弾く。空の値を保存しても不具合の温床にしかならないため。 | ||
_this.handlerSet.saveSnapshot(_this.age, req.snapshot, _this.random.serialize(), _this._idx, req.timestamp); | ||
}, | ||
owner: null | ||
}); | ||
}; | ||
/** | ||
* 現在時刻を取得する。 | ||
@@ -507,0 +544,0 @@ * |
@@ -8,4 +8,6 @@ /** | ||
* | ||
* 以前にこのゲームによって `Game#saveSnapshot()` を呼び出した時に渡した値のいずれかが与えられる。 | ||
* 指定された場合、ゲーム開発者は `saveSnapshot()` 呼び出し時のゲームの実行状態を再現せねばならない。 | ||
* 以前にこのゲームが `Game#reqestSaveSnapshot()` で保存を要求したスナップショットのいずれかが渡される。 | ||
* 指定された場合、ゲーム開発者はスナップショット生成時のゲームの実行状態を再現せねばならない。 | ||
* 指定されなかった場合は、新規にゲーム実行を開始せねばならない。 | ||
* `requestSaveSnapshot()` を利用しないゲームにおいては、常に指定されない。 | ||
*/ | ||
@@ -12,0 +14,0 @@ snapshot?: any; |
@@ -60,2 +60,3 @@ export * from "@akashic/game-configuration"; | ||
export * from "./ShaderProgram"; | ||
export * from "./SnapshotSaveRequest"; | ||
export * from "./SpriteFactory"; | ||
@@ -62,0 +63,0 @@ export * from "./Storage"; |
@@ -80,2 +80,3 @@ "use strict"; | ||
__exportStar(require("./ShaderProgram"), exports); | ||
__exportStar(require("./SnapshotSaveRequest"), exports); | ||
__exportStar(require("./SpriteFactory"), exports); | ||
@@ -82,0 +83,0 @@ __exportStar(require("./Storage"), exports); |
@@ -115,3 +115,3 @@ "use strict"; | ||
} | ||
var gameDb = this.game._localDb; | ||
gameDb = this.game._localDb; | ||
for (var p in gameDb) { | ||
@@ -118,0 +118,0 @@ if (gameDb.hasOwnProperty(p) && gameDb[p].scene === this) |
{ | ||
"name": "@akashic/akashic-engine", | ||
"version": "3.2.1", | ||
"version": "3.2.2", | ||
"description": "The core library of Akashic Engine", | ||
@@ -13,10 +13,10 @@ "main": "index.js", | ||
"devDependencies": { | ||
"@akashic/eslint-config": "0.1.2", | ||
"@akashic/eslint-config": "1.0.0", | ||
"@akashic/pdi-common-impl": "~0.2.0", | ||
"@types/jest": "^27.0.2", | ||
"@typescript-eslint/eslint-plugin": "^4.33.0", | ||
"eslint": "^7.32.0", | ||
"@typescript-eslint/eslint-plugin": "^5.3.0", | ||
"eslint": "^8.1.0", | ||
"eslint-config-prettier": "^7.0.0", | ||
"eslint-plugin-import": "^2.24.2", | ||
"eslint-plugin-jest": "^24.7.0", | ||
"eslint-plugin-import": "^2.25.0", | ||
"eslint-plugin-jest": "^25.2.0", | ||
"jest": "^27.3.1", | ||
@@ -23,0 +23,0 @@ "prettier": "^2.4.1", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
1223760
161
25326