@akashic/headless-driver 1.11.36 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/CHANGELOG.md +1725 -0
  2. package/README.md +30 -0
  3. package/lib/ExecuteVmScriptV1.d.ts +2 -2
  4. package/lib/ExecuteVmScriptV1.js +2 -2
  5. package/lib/ExecuteVmScriptV2.d.ts +2 -2
  6. package/lib/ExecuteVmScriptV2.js +2 -2
  7. package/lib/ExecuteVmScriptV3.d.ts +2 -2
  8. package/lib/ExecuteVmScriptV3.js +2 -2
  9. package/lib/Looper.d.ts +24 -0
  10. package/lib/Looper.js +79 -0
  11. package/lib/index.d.ts +3 -11
  12. package/lib/index.js +3 -11
  13. package/lib/play/AMFlowClientManager.d.ts +1 -1
  14. package/lib/play/Play.d.ts +1 -1
  15. package/lib/play/PlayManager.d.ts +5 -5
  16. package/lib/play/amflow/AMFlowClient.d.ts +4 -4
  17. package/lib/play/amflow/AMFlowStore.d.ts +3 -3
  18. package/lib/play/amflow/index.d.ts +4 -0
  19. package/lib/play/amflow/index.js +16 -0
  20. package/lib/play/amflow/types.d.ts +2 -2
  21. package/lib/play/index.d.ts +5 -0
  22. package/lib/play/index.js +17 -0
  23. package/lib/runner/Platform.d.ts +25 -0
  24. package/lib/runner/Platform.js +34 -0
  25. package/lib/runner/Runner.d.ts +110 -0
  26. package/lib/runner/Runner.js +101 -0
  27. package/lib/runner/RunnerManager.d.ts +6 -6
  28. package/lib/runner/RunnerManager.js +2 -2
  29. package/lib/runner/index.d.ts +7 -0
  30. package/lib/runner/index.js +19 -0
  31. package/lib/runner/types.d.ts +15 -0
  32. package/lib/runner/types.js +2 -0
  33. package/lib/runner/v1/RunnerV1.d.ts +26 -0
  34. package/lib/runner/v1/RunnerV1.js +230 -0
  35. package/lib/runner/v1/index.d.ts +3 -0
  36. package/lib/runner/v1/index.js +19 -0
  37. package/lib/runner/v1/platform/NullAudioPlayer.d.ts +3 -0
  38. package/lib/runner/v1/platform/NullAudioPlayer.js +7 -0
  39. package/lib/runner/v1/platform/NullGlyphFactory.d.ts +6 -0
  40. package/lib/runner/v1/platform/NullGlyphFactory.js +18 -0
  41. package/lib/runner/v1/platform/NullRenderer.d.ts +16 -0
  42. package/lib/runner/v1/platform/NullRenderer.js +46 -0
  43. package/lib/runner/v1/platform/NullSurface.d.ts +7 -0
  44. package/lib/runner/v1/platform/NullSurface.js +18 -0
  45. package/lib/runner/v1/platform/NullVideoPlayer.d.ts +4 -0
  46. package/lib/runner/v1/platform/NullVideoPlayer.js +10 -0
  47. package/lib/runner/v1/platform/PlatformV1.d.ts +22 -0
  48. package/lib/runner/v1/platform/PlatformV1.js +67 -0
  49. package/lib/runner/v1/platform/ResourceFactory.d.ts +18 -0
  50. package/lib/runner/v1/platform/ResourceFactory.js +53 -0
  51. package/lib/runner/v1/platform/assets/NodeScriptAsset.d.ts +16 -0
  52. package/lib/runner/v1/platform/assets/NodeScriptAsset.js +36 -0
  53. package/lib/runner/v1/platform/assets/NodeTextAsset.d.ts +11 -0
  54. package/lib/runner/v1/platform/assets/NodeTextAsset.js +23 -0
  55. package/lib/runner/v1/platform/assets/NullAudioAsset.d.ts +4 -0
  56. package/lib/runner/v1/platform/assets/NullAudioAsset.js +10 -0
  57. package/lib/runner/v1/platform/assets/NullImageAsset.d.ts +6 -0
  58. package/lib/runner/v1/platform/assets/NullImageAsset.js +18 -0
  59. package/lib/runner/v1/platform/assets/NullVideoAsset.d.ts +10 -0
  60. package/lib/runner/v1/platform/assets/NullVideoAsset.js +25 -0
  61. package/lib/runner/v2/RunnerV2.d.ts +26 -0
  62. package/lib/runner/v2/RunnerV2.js +229 -0
  63. package/lib/runner/v2/index.d.ts +3 -0
  64. package/lib/runner/v2/index.js +19 -0
  65. package/lib/runner/v2/platform/NullAudioPlayer.d.ts +3 -0
  66. package/lib/runner/v2/platform/NullAudioPlayer.js +7 -0
  67. package/lib/runner/v2/platform/NullGlyphFactory.d.ts +6 -0
  68. package/lib/runner/v2/platform/NullGlyphFactory.js +18 -0
  69. package/lib/runner/v2/platform/NullRenderer.d.ts +20 -0
  70. package/lib/runner/v2/platform/NullRenderer.js +58 -0
  71. package/lib/runner/v2/platform/NullSurface.d.ts +7 -0
  72. package/lib/runner/v2/platform/NullSurface.js +18 -0
  73. package/lib/runner/v2/platform/NullVideoPlayer.d.ts +4 -0
  74. package/lib/runner/v2/platform/NullVideoPlayer.js +10 -0
  75. package/lib/runner/v2/platform/PlatformV2.d.ts +23 -0
  76. package/lib/runner/v2/platform/PlatformV2.js +70 -0
  77. package/lib/runner/v2/platform/ResourceFactory.d.ts +18 -0
  78. package/lib/runner/v2/platform/ResourceFactory.js +53 -0
  79. package/lib/runner/v2/platform/assets/NodeScriptAsset.d.ts +16 -0
  80. package/lib/runner/v2/platform/assets/NodeScriptAsset.js +36 -0
  81. package/lib/runner/v2/platform/assets/NodeTextAsset.d.ts +11 -0
  82. package/lib/runner/v2/platform/assets/NodeTextAsset.js +23 -0
  83. package/lib/runner/v2/platform/assets/NullAudioAsset.d.ts +4 -0
  84. package/lib/runner/v2/platform/assets/NullAudioAsset.js +10 -0
  85. package/lib/runner/v2/platform/assets/NullImageAsset.d.ts +6 -0
  86. package/lib/runner/v2/platform/assets/NullImageAsset.js +18 -0
  87. package/lib/runner/v2/platform/assets/NullVideoAsset.d.ts +10 -0
  88. package/lib/runner/v2/platform/assets/NullVideoAsset.js +25 -0
  89. package/lib/runner/v3/RunnerV3.d.ts +38 -0
  90. package/lib/runner/v3/RunnerV3.js +245 -0
  91. package/lib/runner/v3/engineFiles.d.ts +2 -0
  92. package/lib/runner/v3/engineFiles.js +31 -0
  93. package/lib/runner/v3/index.d.ts +5 -0
  94. package/lib/runner/v3/index.js +21 -0
  95. package/lib/runner/v3/platform/NodeCanvasResourceFactory.d.ts +22 -0
  96. package/lib/runner/v3/platform/NodeCanvasResourceFactory.js +57 -0
  97. package/lib/runner/v3/platform/NullResourceFactory.d.ts +21 -0
  98. package/lib/runner/v3/platform/NullResourceFactory.js +54 -0
  99. package/lib/runner/v3/platform/PlatformV3.d.ts +23 -0
  100. package/lib/runner/v3/platform/PlatformV3.js +94 -0
  101. package/lib/runner/v3/platform/assets/Asset.d.ts +14 -0
  102. package/lib/runner/v3/platform/assets/Asset.js +30 -0
  103. package/lib/runner/v3/platform/assets/NodeScriptAsset.d.ts +19 -0
  104. package/lib/runner/v3/platform/assets/NodeScriptAsset.js +48 -0
  105. package/lib/runner/v3/platform/assets/NodeTextAsset.d.ts +14 -0
  106. package/lib/runner/v3/platform/assets/NodeTextAsset.js +35 -0
  107. package/lib/runner/v3/platform/audios/NullAudioAsset.d.ts +15 -0
  108. package/lib/runner/v3/platform/audios/NullAudioAsset.js +28 -0
  109. package/lib/runner/v3/platform/audios/NullAudioPlayer.d.ts +17 -0
  110. package/lib/runner/v3/platform/audios/NullAudioPlayer.js +34 -0
  111. package/lib/runner/v3/platform/graphics/canvas/CompositeOperationConverter.d.ts +6 -0
  112. package/lib/runner/v3/platform/graphics/canvas/CompositeOperationConverter.js +78 -0
  113. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasGlyph.d.ts +16 -0
  114. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasGlyph.js +25 -0
  115. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasGlyphFactory.d.ts +24 -0
  116. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasGlyphFactory.js +204 -0
  117. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasImageAsset.d.ts +16 -0
  118. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasImageAsset.js +78 -0
  119. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasRenderer.d.ts +26 -0
  120. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasRenderer.js +72 -0
  121. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasSurface.d.ts +14 -0
  122. package/lib/runner/v3/platform/graphics/canvas/NodeCanvasSurface.js +25 -0
  123. package/lib/runner/v3/platform/graphics/null/NullGlyph.d.ts +16 -0
  124. package/lib/runner/v3/platform/graphics/null/NullGlyph.js +25 -0
  125. package/lib/runner/v3/platform/graphics/null/NullGlyphFactory.d.ts +14 -0
  126. package/lib/runner/v3/platform/graphics/null/NullGlyphFactory.js +22 -0
  127. package/lib/runner/v3/platform/graphics/null/NullImageAsset.d.ts +13 -0
  128. package/lib/runner/v3/platform/graphics/null/NullImageAsset.js +24 -0
  129. package/lib/runner/v3/platform/graphics/null/NullRenderer.d.ts +21 -0
  130. package/lib/runner/v3/platform/graphics/null/NullRenderer.js +60 -0
  131. package/lib/runner/v3/platform/graphics/null/NullSurface.d.ts +14 -0
  132. package/lib/runner/v3/platform/graphics/null/NullSurface.js +26 -0
  133. package/lib/runner/v3/platform/videos/NullVideoAsset.d.ts +20 -0
  134. package/lib/runner/v3/platform/videos/NullVideoAsset.js +37 -0
  135. package/lib/runner/v3/platform/videos/NullVideoPlayer.d.ts +14 -0
  136. package/lib/runner/v3/platform/videos/NullVideoPlayer.js +25 -0
  137. package/lib/runner/v3/requireEngineFiles.d.ts +5 -0
  138. package/lib/runner/v3/requireEngineFiles.js +21 -0
  139. package/package.json +26 -18
@@ -0,0 +1,7 @@
1
+ export * from "./v1";
2
+ export * from "./v2";
3
+ export * from "./v3";
4
+ export * from "./Platform";
5
+ export * from "./Runner";
6
+ export * from "./RunnerManager";
7
+ export * from "./types";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./v1"), exports);
14
+ __exportStar(require("./v2"), exports);
15
+ __exportStar(require("./v3"), exports);
16
+ __exportStar(require("./Platform"), exports);
17
+ __exportStar(require("./Runner"), exports);
18
+ __exportStar(require("./RunnerManager"), exports);
19
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,15 @@
1
+ export declare type RunnerExecutionMode = "active" | "passive";
2
+ export declare type RunnerRenderingMode = "none" | "canvas";
3
+ export declare type RunnerAdvanceConditionFunc = () => boolean;
4
+ export interface RunnerPointEvent {
5
+ type: "down" | "move" | "up";
6
+ identifier: number;
7
+ offset: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ }
12
+ export interface RunnerPlayer {
13
+ id: string;
14
+ name: string;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,26 @@
1
+ import { akashicEngine as g, gameDriver as gdr } from "aev1";
2
+ import type { RunnerStartParameters } from "../Runner";
3
+ import { Runner } from "../Runner";
4
+ import type { RunnerPointEvent } from "../types";
5
+ import { PlatformV1 } from "./platform/PlatformV1";
6
+ export declare type RunnerV1Game = g.Game;
7
+ export declare class RunnerV1 extends Runner {
8
+ readonly engineVersion: string;
9
+ readonly g: typeof g;
10
+ platform: PlatformV1 | null;
11
+ private driver;
12
+ private fps;
13
+ private running;
14
+ start(params?: RunnerStartParameters): Promise<RunnerV1Game | null>;
15
+ stop(): void;
16
+ pause(): void;
17
+ resume(): void;
18
+ step(): void;
19
+ protected _stepMinimal(): void;
20
+ advance(ms: number): Promise<void>;
21
+ changeGameDriverState(param: gdr.GameDriverInitializeParameterObject): Promise<void>;
22
+ firePointEvent(event: RunnerPointEvent): void;
23
+ getPrimarySurface(): never;
24
+ private initGameDriver;
25
+ private onSendedToExternal;
26
+ }
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RunnerV1 = void 0;
13
+ const aev1_1 = require("aev1");
14
+ const Runner_1 = require("../Runner");
15
+ const PlatformV1_1 = require("./platform/PlatformV1");
16
+ class RunnerV1 extends Runner_1.Runner {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.engineVersion = "1";
20
+ this.g = aev1_1.akashicEngine;
21
+ this.platform = null;
22
+ this.driver = null;
23
+ this.fps = null;
24
+ this.running = false;
25
+ }
26
+ start(params) {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ let game = null;
29
+ const paused = !!(params === null || params === void 0 ? void 0 : params.paused);
30
+ try {
31
+ game = yield this.initGameDriver();
32
+ if (!paused) {
33
+ this.resume();
34
+ }
35
+ }
36
+ catch (e) {
37
+ this.onError(e);
38
+ }
39
+ return game;
40
+ });
41
+ }
42
+ stop() {
43
+ if (this.driver) {
44
+ this.driver.stopGame();
45
+ this.driver = null;
46
+ }
47
+ this.running = false;
48
+ }
49
+ pause() {
50
+ if (this.platform == null) {
51
+ this.errorTrigger.fire(new Error("Cannot call Runner#pause() before initialized"));
52
+ return;
53
+ }
54
+ this.platform.pauseLoopers();
55
+ this.running = false;
56
+ }
57
+ resume() {
58
+ if (this.platform == null) {
59
+ this.errorTrigger.fire(new Error("Cannot call Runner#resume() before initialized"));
60
+ return;
61
+ }
62
+ this.platform.resumeLoopers();
63
+ this.running = true;
64
+ }
65
+ step() {
66
+ if (this.fps == null || this.platform == null) {
67
+ this.errorTrigger.fire(new Error("Cannot call Runner#step() before initialized"));
68
+ return;
69
+ }
70
+ if (this.running) {
71
+ this.errorTrigger.fire(new Error("Cannot call Runner#step() in running"));
72
+ return;
73
+ }
74
+ this.platform.advanceLoopers(Math.ceil(1000 / this.fps));
75
+ }
76
+ _stepMinimal() {
77
+ if (this.fps == null || this.platform == null) {
78
+ this.errorTrigger.fire(new Error("RunnerV1#_stepHalf(): Cannot call Runner#step() before initialized"));
79
+ return;
80
+ }
81
+ if (this.running) {
82
+ this.errorTrigger.fire(new Error("RunnerV1#_stepHalf(): Cannot call Runner#step() in running"));
83
+ return;
84
+ }
85
+ // NOTE: 現状 PDI の API 仕様により this.step() では厳密なフレーム更新ができない。そこで、一フレームの 1/2 の時間で進行することでフレームが飛んでしまうことを防止する。
86
+ this.platform.advanceLoopers(1000 / this.fps / 2);
87
+ }
88
+ advance(ms) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ if (this.fps == null || this.platform == null || this.driver == null) {
91
+ this.errorTrigger.fire(new Error("Cannot call Runner#advance() before initialized"));
92
+ return;
93
+ }
94
+ if (this.running) {
95
+ this.errorTrigger.fire(new Error("Cannot call Runner#advance() in running"));
96
+ return;
97
+ }
98
+ const { loopMode, skipThreshold } = this.driver.getLoopConfiguration();
99
+ // NOTE: skip の通知タイミングを一度に制限するため skipThreshold を一時的に変更する。
100
+ yield this.changeGameDriverState({
101
+ loopConfiguration: {
102
+ loopMode,
103
+ skipThreshold: Math.ceil(ms / this.fps) + 1
104
+ }
105
+ });
106
+ const delta = Math.ceil(1000 / this.fps);
107
+ let progress = 0;
108
+ while (progress <= ms) {
109
+ // NOTE: game-driver の内部実装により Looper 経由で一度に進める時間に制限がある。
110
+ // そのため一度に進める時間を fps に応じて分割する。
111
+ this.platform.advanceLoopers(delta);
112
+ progress += delta;
113
+ }
114
+ yield this.changeGameDriverState({
115
+ loopConfiguration: {
116
+ loopMode,
117
+ skipThreshold
118
+ }
119
+ });
120
+ });
121
+ }
122
+ changeGameDriverState(param) {
123
+ return new Promise((resolve, reject) => {
124
+ if (!this.driver) {
125
+ reject(new Error("Game is not started"));
126
+ return;
127
+ }
128
+ this.driver.changeState(param, (err) => (err ? reject(err) : resolve()));
129
+ });
130
+ }
131
+ firePointEvent(event) {
132
+ if (this.platform == null) {
133
+ this.errorTrigger.fire(new Error("Cannot call Runner#firePointEvent() before initialized"));
134
+ return;
135
+ }
136
+ let type;
137
+ if (event.type === "down") {
138
+ type = 0 /* Down */;
139
+ }
140
+ else if (event.type === "move") {
141
+ type = 1 /* Move */;
142
+ }
143
+ else if (event.type === "up") {
144
+ type = 2 /* Up */;
145
+ }
146
+ else {
147
+ this.errorTrigger.fire(new Error(`RunnerV1#firePointEvent(): unknown event type: ${event.type}`));
148
+ return;
149
+ }
150
+ this.platform.firePointEvent({
151
+ type,
152
+ identifier: event.identifier,
153
+ offset: event.offset
154
+ });
155
+ }
156
+ getPrimarySurface() {
157
+ throw new Error("RunnerV1#getPrimarySurface(): Not supported");
158
+ }
159
+ initGameDriver() {
160
+ return new Promise((resolve, reject) => {
161
+ if (this.driver) {
162
+ this.driver.destroy();
163
+ this.driver = null;
164
+ }
165
+ const player = {
166
+ id: this.player ? this.player.id : undefined,
167
+ name: this.player ? this.player.name : undefined
168
+ };
169
+ const executionMode = this.executionMode === "active" ? aev1_1.gameDriver.ExecutionMode.Active : aev1_1.gameDriver.ExecutionMode.Passive;
170
+ this.platform = new PlatformV1_1.PlatformV1({
171
+ configurationBaseUrl: this.configurationBaseUrl,
172
+ assetBaseUrl: this.assetBaseUrl,
173
+ amflow: this.amflow,
174
+ trusted: this.trusted,
175
+ renderingMode: this.renderingMode,
176
+ sendToExternalHandler: (data) => this.onSendedToExternal(data),
177
+ errorHandler: (e) => this.onError(e),
178
+ loadFileHandler: (url, callback) => this.loadFileHandler(url, callback)
179
+ });
180
+ this.pause();
181
+ const driver = new aev1_1.gameDriver.GameDriver({
182
+ platform: this.platform,
183
+ player,
184
+ errorHandler: (e) => this.onError(e)
185
+ });
186
+ this.driver = driver;
187
+ let result = null;
188
+ // TODO: パラメータを外部から変更可能にする
189
+ driver.initialize({
190
+ configurationUrl: this.configurationUrl,
191
+ configurationBase: this.configurationBaseUrl,
192
+ assetBase: this.assetBaseUrl,
193
+ driverConfiguration: {
194
+ playId: this.playId,
195
+ playToken: this.playToken,
196
+ executionMode
197
+ },
198
+ loopConfiguration: {
199
+ loopMode: aev1_1.gameDriver.LoopMode.Realtime
200
+ },
201
+ gameArgs: this.gameArgs
202
+ }, (e) => {
203
+ if (e) {
204
+ reject(e);
205
+ return;
206
+ }
207
+ if (!result) {
208
+ // GameDriver の内部実装上ここに来ることはないはずだが念のため確認
209
+ return reject(new Error("Game is null."));
210
+ }
211
+ driver.startGame();
212
+ resolve(result);
213
+ });
214
+ driver.gameCreatedTrigger.handle((game) => {
215
+ if (this.externalValue) {
216
+ Object.keys(this.externalValue).forEach((key) => {
217
+ game.external[key] = this.externalValue[key];
218
+ });
219
+ }
220
+ this.fps = game.fps;
221
+ result = game;
222
+ return true;
223
+ });
224
+ });
225
+ }
226
+ onSendedToExternal(data) {
227
+ this.sendToExternalTrigger.fire(data);
228
+ }
229
+ }
230
+ exports.RunnerV1 = RunnerV1;
@@ -0,0 +1,3 @@
1
+ export * from "./RunnerV1";
2
+ export * from "./platform/PlatformV1";
3
+ export { akashicEngine as RunnerV1_g, gameDriver as RunnerV1_gdr, pdi as RunnerV1_pdi } from "aev1";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RunnerV1_pdi = exports.RunnerV1_gdr = exports.RunnerV1_g = void 0;
14
+ __exportStar(require("./RunnerV1"), exports);
15
+ __exportStar(require("./platform/PlatformV1"), exports);
16
+ var aev1_1 = require("aev1");
17
+ Object.defineProperty(exports, "RunnerV1_g", { enumerable: true, get: function () { return aev1_1.akashicEngine; } });
18
+ Object.defineProperty(exports, "RunnerV1_gdr", { enumerable: true, get: function () { return aev1_1.gameDriver; } });
19
+ Object.defineProperty(exports, "RunnerV1_pdi", { enumerable: true, get: function () { return aev1_1.pdi; } });
@@ -0,0 +1,3 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export declare class NullAudioPlayer extends g.AudioPlayer {
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullAudioPlayer = void 0;
4
+ const aev1_1 = require("aev1");
5
+ class NullAudioPlayer extends aev1_1.akashicEngine.AudioPlayer {
6
+ }
7
+ exports.NullAudioPlayer = NullAudioPlayer;
@@ -0,0 +1,6 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export declare class NullGlyphFactory extends g.GlyphFactory {
3
+ private dummySurface;
4
+ create(code: number): g.Glyph;
5
+ measureMinimumFontSize(): number;
6
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullGlyphFactory = void 0;
4
+ const aev1_1 = require("aev1");
5
+ const NullSurface_1 = require("./NullSurface");
6
+ class NullGlyphFactory extends aev1_1.akashicEngine.GlyphFactory {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.dummySurface = new NullSurface_1.NullSurface(0, 0);
10
+ }
11
+ create(code) {
12
+ return new aev1_1.akashicEngine.Glyph(code, 0, 0, 0, 0, 0, 0, this.fontSize, this.dummySurface, true);
13
+ }
14
+ measureMinimumFontSize() {
15
+ return 1;
16
+ }
17
+ }
18
+ exports.NullGlyphFactory = NullGlyphFactory;
@@ -0,0 +1,16 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export declare class NullRenderer extends g.Renderer {
3
+ clear(): void;
4
+ drawImage(_surface: g.Surface, _offsetX: number, _offsetY: number, _width: number, _height: number, _destOffsetX: number, _destOffsetY: number): void;
5
+ drawSprites(_surface: g.Surface, _offsetX: number[], _offsetY: number[], _width: number[], _height: number[], _canvasOffsetX: number[], _canvasOffsetY: number[], _count: number): void;
6
+ drawSystemText(_text: string, _x: number, _y: number, _maxWidth: number, _fontSize: number, _textAlign: g.TextAlign, _textBaseline: g.TextBaseline, _textColor: string, _fontFamily: g.FontFamily, _strokeWidth: number, _strokeColor: string, _strokeOnly: boolean): void;
7
+ translate(_x: number, _y: number): void;
8
+ transform(_matrix: number[]): void;
9
+ opacity(_opacity: number): void;
10
+ save(): void;
11
+ restore(): void;
12
+ fillRect(_x: number, _y: number, _width: number, _height: number, _cssColor: string): void;
13
+ setCompositeOperation(_operation: g.CompositeOperation): void;
14
+ setTransform(_matrix: number[]): void;
15
+ setOpacity(_opacity: number): void;
16
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullRenderer = void 0;
4
+ const aev1_1 = require("aev1");
5
+ class NullRenderer extends aev1_1.akashicEngine.Renderer {
6
+ clear() {
7
+ //
8
+ }
9
+ drawImage(_surface, _offsetX, _offsetY, _width, _height, _destOffsetX, _destOffsetY) {
10
+ //
11
+ }
12
+ drawSprites(_surface, _offsetX, _offsetY, _width, _height, _canvasOffsetX, _canvasOffsetY, _count) {
13
+ //
14
+ }
15
+ drawSystemText(_text, _x, _y, _maxWidth, _fontSize, _textAlign, _textBaseline, _textColor, _fontFamily, _strokeWidth, _strokeColor, _strokeOnly) {
16
+ //
17
+ }
18
+ translate(_x, _y) {
19
+ //
20
+ }
21
+ transform(_matrix) {
22
+ //
23
+ }
24
+ opacity(_opacity) {
25
+ //
26
+ }
27
+ save() {
28
+ //
29
+ }
30
+ restore() {
31
+ //
32
+ }
33
+ fillRect(_x, _y, _width, _height, _cssColor) {
34
+ //
35
+ }
36
+ setCompositeOperation(_operation) {
37
+ //
38
+ }
39
+ setTransform(_matrix) {
40
+ //
41
+ }
42
+ setOpacity(_opacity) {
43
+ //
44
+ }
45
+ }
46
+ exports.NullRenderer = NullRenderer;
@@ -0,0 +1,7 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export declare class NullSurface extends g.Surface {
3
+ private _renderer;
4
+ constructor(width: number, height: number, drawable?: any, isDynamic?: boolean);
5
+ renderer(): g.Renderer;
6
+ isPlaying(): boolean;
7
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullSurface = void 0;
4
+ const aev1_1 = require("aev1");
5
+ const NullRenderer_1 = require("./NullRenderer");
6
+ class NullSurface extends aev1_1.akashicEngine.Surface {
7
+ constructor(width, height, drawable, isDynamic) {
8
+ super(width, height, drawable, isDynamic);
9
+ this._renderer = new NullRenderer_1.NullRenderer();
10
+ }
11
+ renderer() {
12
+ return this._renderer;
13
+ }
14
+ isPlaying() {
15
+ return false;
16
+ }
17
+ }
18
+ exports.NullSurface = NullSurface;
@@ -0,0 +1,4 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export declare class NullVideoplayerAsset extends g.VideoPlayer {
3
+ isDummy(): boolean;
4
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullVideoplayerAsset = void 0;
4
+ const aev1_1 = require("aev1");
5
+ class NullVideoplayerAsset extends aev1_1.akashicEngine.VideoPlayer {
6
+ isDummy() {
7
+ return true;
8
+ }
9
+ }
10
+ exports.NullVideoplayerAsset = NullVideoplayerAsset;
@@ -0,0 +1,22 @@
1
+ import type { akashicEngine as g, pdi } from "aev1";
2
+ import { Looper } from "../../../Looper";
3
+ import type { PlatformParameters } from "../../Platform";
4
+ import { Platform } from "../../Platform";
5
+ export declare class PlatformV1 extends Platform implements pdi.Platform {
6
+ private resFac;
7
+ private rendererReq;
8
+ private primarySurface;
9
+ private eventHandler;
10
+ private loopers;
11
+ private isLooperPaused;
12
+ constructor(param: PlatformParameters);
13
+ getResourceFactory(): g.ResourceFactory;
14
+ setRendererRequirement(requirement: pdi.RendererRequirement): void;
15
+ setPlatformEventHandler(handler: pdi.PlatformEventHandler): void;
16
+ getPrimarySurface(): g.Surface;
17
+ createLooper(fun: (deltaTime: number) => number): Looper;
18
+ advanceLoopers(ms: number): void;
19
+ pauseLoopers(): void;
20
+ resumeLoopers(): void;
21
+ firePointEvent(event: pdi.PointEvent): void;
22
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlatformV1 = void 0;
4
+ const Looper_1 = require("../../../Looper");
5
+ const Platform_1 = require("../../Platform");
6
+ const NullSurface_1 = require("./NullSurface");
7
+ const ResourceFactory_1 = require("./ResourceFactory");
8
+ class PlatformV1 extends Platform_1.Platform {
9
+ constructor(param) {
10
+ super(param);
11
+ this.rendererReq = null;
12
+ this.primarySurface = null;
13
+ this.eventHandler = null;
14
+ this.loopers = [];
15
+ this.isLooperPaused = false;
16
+ this.resFac = new ResourceFactory_1.ResourceFactory({
17
+ errorHandler: (e) => this.errorHandler(e),
18
+ loadFileHandler: param.loadFileHandler
19
+ });
20
+ }
21
+ getResourceFactory() {
22
+ return this.resFac;
23
+ }
24
+ setRendererRequirement(requirement) {
25
+ this.rendererReq = requirement;
26
+ this.primarySurface = new NullSurface_1.NullSurface(this.rendererReq.primarySurfaceWidth, this.rendererReq.primarySurfaceHeight, null);
27
+ }
28
+ setPlatformEventHandler(handler) {
29
+ this.eventHandler = handler;
30
+ }
31
+ getPrimarySurface() {
32
+ if (this.primarySurface == null) {
33
+ throw new Error("PlatformV1#getPrimarySurface(): Primary surface has not been initialized yet");
34
+ }
35
+ return this.primarySurface;
36
+ }
37
+ createLooper(fun) {
38
+ const looper = new Looper_1.Looper(fun, (e) => this.errorHandler(e));
39
+ if (this.isLooperPaused) {
40
+ looper.debugStop();
41
+ }
42
+ this.loopers.push(looper);
43
+ return looper;
44
+ }
45
+ advanceLoopers(ms) {
46
+ for (let i = 0; i < this.loopers.length; i++) {
47
+ this.loopers[i].debugStep(ms);
48
+ }
49
+ }
50
+ pauseLoopers() {
51
+ this.isLooperPaused = true;
52
+ for (let i = 0; i < this.loopers.length; i++) {
53
+ this.loopers[i].debugStop();
54
+ }
55
+ }
56
+ resumeLoopers() {
57
+ this.isLooperPaused = false;
58
+ for (let i = 0; i < this.loopers.length; i++) {
59
+ this.loopers[i].debugStart();
60
+ }
61
+ }
62
+ firePointEvent(event) {
63
+ var _a;
64
+ (_a = this.eventHandler) === null || _a === void 0 ? void 0 : _a.onPointEvent(event);
65
+ }
66
+ }
67
+ exports.PlatformV1 = PlatformV1;
@@ -0,0 +1,18 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export interface ResourceFactoryParameters {
3
+ loadFileHandler: (url: string, callback: (err: Error | null, data?: string) => void) => void;
4
+ errorHandler: (err: any) => void;
5
+ }
6
+ export declare class ResourceFactory extends g.ResourceFactory {
7
+ private loadFileHandler;
8
+ private errorHandler;
9
+ constructor({ loadFileHandler, errorHandler }: ResourceFactoryParameters);
10
+ createImageAsset(id: string, assetPath: string, width: number, height: number): g.ImageAsset;
11
+ createVideoAsset(id: string, assetPath: string, width: number, height: number, system: g.VideoSystem, loop: boolean, useRealSize: boolean): g.VideoAsset;
12
+ createAudioAsset(id: string, assetPath: string, duration: number, system: g.AudioSystem, loop: boolean, hint: g.AudioAssetHint): g.AudioAsset;
13
+ createAudioPlayer(system: g.AudioSystem): g.AudioPlayer;
14
+ createTextAsset(id: string, assetPath: string): g.TextAsset;
15
+ createScriptAsset(id: string, assetPath: string): g.ScriptAsset;
16
+ createSurface(width: number, height: number): g.Surface;
17
+ createGlyphFactory(fontFamily: g.FontFamily | string | (g.FontFamily | string)[], fontSize: number, baselineHeight?: number, fontColor?: string, strokeWidth?: number, strokeColor?: string, strokeOnly?: boolean, fontWeight?: g.FontWeight): g.GlyphFactory;
18
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResourceFactory = void 0;
4
+ const aev1_1 = require("aev1");
5
+ const NodeScriptAsset_1 = require("./assets/NodeScriptAsset");
6
+ const NodeTextAsset_1 = require("./assets/NodeTextAsset");
7
+ const NullAudioAsset_1 = require("./assets/NullAudioAsset");
8
+ const NullImageAsset_1 = require("./assets/NullImageAsset");
9
+ const NullVideoAsset_1 = require("./assets/NullVideoAsset");
10
+ const NullAudioPlayer_1 = require("./NullAudioPlayer");
11
+ const NullGlyphFactory_1 = require("./NullGlyphFactory");
12
+ const NullSurface_1 = require("./NullSurface");
13
+ class ResourceFactory extends aev1_1.akashicEngine.ResourceFactory {
14
+ constructor({ loadFileHandler, errorHandler }) {
15
+ super();
16
+ this.loadFileHandler = loadFileHandler;
17
+ this.errorHandler = errorHandler;
18
+ }
19
+ createImageAsset(id, assetPath, width, height) {
20
+ return new NullImageAsset_1.NullImageAsset(id, assetPath, width, height);
21
+ }
22
+ createVideoAsset(id, assetPath, width, height, system, loop, useRealSize) {
23
+ return new NullVideoAsset_1.NullVideoAsset(id, assetPath, width, height, system, loop, useRealSize);
24
+ }
25
+ createAudioAsset(id, assetPath, duration, system, loop, hint) {
26
+ return new NullAudioAsset_1.NullAudioAsset(id, assetPath, duration, system, loop, hint);
27
+ }
28
+ createAudioPlayer(system) {
29
+ return new NullAudioPlayer_1.NullAudioPlayer(system);
30
+ }
31
+ createTextAsset(id, assetPath) {
32
+ return new NodeTextAsset_1.NodeTextAsset({
33
+ id,
34
+ path: assetPath,
35
+ loadFileHandler: this.loadFileHandler
36
+ });
37
+ }
38
+ createScriptAsset(id, assetPath) {
39
+ return new NodeScriptAsset_1.NodeScriptAsset({
40
+ id,
41
+ path: assetPath,
42
+ errorHandler: this.errorHandler,
43
+ loadFileHandler: this.loadFileHandler
44
+ });
45
+ }
46
+ createSurface(width, height) {
47
+ return new NullSurface_1.NullSurface(width, height);
48
+ }
49
+ createGlyphFactory(fontFamily, fontSize, baselineHeight, fontColor, strokeWidth, strokeColor, strokeOnly, fontWeight) {
50
+ return new NullGlyphFactory_1.NullGlyphFactory(fontFamily, fontSize, baselineHeight, fontColor, strokeWidth, strokeColor, strokeOnly, fontWeight);
51
+ }
52
+ }
53
+ exports.ResourceFactory = ResourceFactory;
@@ -0,0 +1,16 @@
1
+ import { akashicEngine as g } from "aev1";
2
+ export interface NodeScriptAssetParameters {
3
+ id: string;
4
+ path: string;
5
+ errorHandler: (err: any) => void;
6
+ loadFileHandler: (url: string, callback: (err: Error | null, data?: string) => void) => void;
7
+ }
8
+ export declare class NodeScriptAsset extends g.ScriptAsset {
9
+ static PRE_SCRIPT: string;
10
+ static POST_SCRIPT: string;
11
+ private errorHandler;
12
+ private loadFileHandler;
13
+ constructor(param: NodeScriptAssetParameters);
14
+ _load(loader: g.AssetLoadHandler): void;
15
+ execute(execEnv: g.ScriptAssetExecuteEnvironment): any;
16
+ }