@famibee/skynovel 1.64.18 → 1.64.20
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.
- package/dist/CmnTween.js +26 -27
- package/dist/CmnTween.js.map +1 -1
- package/dist/DebugMng.js +2 -2
- package/dist/DebugMng.js.map +1 -1
- package/dist/EventMng.js +7 -4
- package/dist/EventMng.js.map +1 -1
- package/dist/LayerMng.js +64 -52
- package/dist/LayerMng.js.map +1 -1
- package/dist/Reading.js +34 -28
- package/dist/Reading.js.map +1 -1
- package/dist/ScriptIterator.js +1 -1
- package/dist/ScriptIterator.js.map +1 -1
- package/dist/SndBuf.js +22 -22
- package/dist/SndBuf.js.map +1 -1
- package/dist/TxtLayer.js +238 -239
- package/dist/TxtLayer.js.map +1 -1
- package/dist/appMain_cmn.d.ts.map +1 -1
- package/dist/sn/CmnInterface.d.ts +1 -1
- package/dist/sn/CmnInterface.d.ts.map +1 -1
- package/dist/sn/CmnLib.d.ts +1 -0
- package/dist/sn/CmnLib.d.ts.map +1 -1
- package/dist/sn/CmnTween.d.ts.map +1 -1
- package/dist/sn/EventMng.d.ts.map +1 -1
- package/dist/sn/FocusMng.d.ts +2 -0
- package/dist/sn/FocusMng.d.ts.map +1 -1
- package/dist/sn/FrameMng.d.ts.map +1 -1
- package/dist/sn/Hyphenation.d.ts.map +1 -1
- package/dist/sn/Layer.d.ts.map +1 -1
- package/dist/sn/Reading.d.ts.map +1 -1
- package/dist/sn/SndBuf.d.ts.map +1 -1
- package/dist/sn/TxtLayer.d.ts.map +1 -1
- package/dist/sn/TxtStage.d.ts.map +1 -1
- package/dist/sn/htm2tx.d.ts.map +1 -1
- package/dist/web2.js +4 -4
- package/dist/web2.js.map +1 -1
- package/dist_app/CmnTween.js +28 -29
- package/dist_app/CmnTween.js.map +1 -1
- package/dist_app/EventMng.js +178 -175
- package/dist_app/EventMng.js.map +1 -1
- package/dist_app/LayerMng.js +64 -52
- package/dist_app/LayerMng.js.map +1 -1
- package/dist_app/Reading.js +34 -28
- package/dist_app/Reading.js.map +1 -1
- package/dist_app/ScriptIterator.js +1 -1
- package/dist_app/ScriptIterator.js.map +1 -1
- package/dist_app/SndBuf.js +22 -22
- package/dist_app/SndBuf.js.map +1 -1
- package/dist_app/TxtLayer.js +306 -307
- package/dist_app/TxtLayer.js.map +1 -1
- package/dist_app/app2.js +6 -6
- package/dist_app/app2.js.map +1 -1
- package/dist_app/appMain.js +1 -1
- package/dist_app/appMain.js.map +1 -1
- package/dist_app/appMain_cmn.d.ts.map +1 -1
- package/dist_app/sn/CmnInterface.d.ts +1 -1
- package/dist_app/sn/CmnInterface.d.ts.map +1 -1
- package/dist_app/sn/CmnLib.d.ts +1 -0
- package/dist_app/sn/CmnLib.d.ts.map +1 -1
- package/dist_app/sn/CmnTween.d.ts.map +1 -1
- package/dist_app/sn/EventMng.d.ts.map +1 -1
- package/dist_app/sn/FocusMng.d.ts +2 -0
- package/dist_app/sn/FocusMng.d.ts.map +1 -1
- package/dist_app/sn/FrameMng.d.ts.map +1 -1
- package/dist_app/sn/Hyphenation.d.ts.map +1 -1
- package/dist_app/sn/Layer.d.ts.map +1 -1
- package/dist_app/sn/Reading.d.ts.map +1 -1
- package/dist_app/sn/SndBuf.d.ts.map +1 -1
- package/dist_app/sn/TxtLayer.d.ts.map +1 -1
- package/dist_app/sn/TxtStage.d.ts.map +1 -1
- package/dist_app/sn/htm2tx.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/CmnTween.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { l as
|
|
2
|
-
import { u as L, E as n, b as N, T as
|
|
3
|
-
const
|
|
1
|
+
import { l as E, e as P, a as T } from "./web2.js";
|
|
2
|
+
import { u as L, E as n, b as N, T as B, a as x } from "./Reading.js";
|
|
3
|
+
const S = `trans
|
|
4
4
|
`, $ = "tsy nm:";
|
|
5
5
|
class k {
|
|
6
6
|
static #t = {};
|
|
@@ -15,8 +15,8 @@ class k {
|
|
|
15
15
|
}
|
|
16
16
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
17
|
static setTwProp(t, i) {
|
|
18
|
-
const s =
|
|
19
|
-
return t.delay(
|
|
18
|
+
const s = E(i, "repeat", 1);
|
|
19
|
+
return t.delay(E(i, "delay", 0)).easing(this.ease(i.ease)).repeat(s > 0 ? s - 1 : 1 / 0).yoyo(P(i, "yoyo", !1));
|
|
20
20
|
}
|
|
21
21
|
static #e = {
|
|
22
22
|
"Back.In": (t) => n.Back.In(t),
|
|
@@ -78,11 +78,11 @@ class k {
|
|
|
78
78
|
for (const a of k.aLayerPrpNm) {
|
|
79
79
|
const c = t[a];
|
|
80
80
|
if (!c) continue;
|
|
81
|
-
const
|
|
81
|
+
const r = String(c), p = r.startsWith("="), h = p ? r.slice(1) : r;
|
|
82
82
|
if (!h) continue;
|
|
83
|
-
const [d = "0", o] = h.split(","),
|
|
83
|
+
const [d = "0", o] = h.split(","), u = s[a] = parseFloat(d);
|
|
84
84
|
o && (s[a] += Math.round(
|
|
85
|
-
Math.random() * (parseFloat(o) -
|
|
85
|
+
Math.random() * (parseFloat(o) - u + 1)
|
|
86
86
|
)), p && (s[a] += parseFloat(i[a]));
|
|
87
87
|
}
|
|
88
88
|
return s;
|
|
@@ -92,15 +92,15 @@ class k {
|
|
|
92
92
|
this.#t = {}, N();
|
|
93
93
|
}
|
|
94
94
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
95
|
-
static tween(t, i, s, a, c,
|
|
96
|
-
const d = this.#s.isSkipping ? 0 :
|
|
95
|
+
static tween(t, i, s, a, c, r, p, h = !0) {
|
|
96
|
+
const d = this.#s.isSkipping ? 0 : E(i, "time", NaN), o = new B(s).to(a, d).onUpdate((e) => c(e));
|
|
97
97
|
this.setTwProp(o, i), this.#t[t] = { tw: o, onEnd: p };
|
|
98
|
-
const { path:
|
|
98
|
+
const { path: u } = i;
|
|
99
99
|
let f = o;
|
|
100
|
-
if (
|
|
101
|
-
|
|
102
|
-
for (const { groups: e } of
|
|
103
|
-
const { x: w, x2:
|
|
100
|
+
if (u) {
|
|
101
|
+
T.debugLog && console.group(`🍝 [${i[":タグ名"] ?? ""}] path=${u}= start(${String(s.x)},${String(s.y)},${String(s.alpha)})`);
|
|
102
|
+
for (const { groups: e } of u.matchAll(this.#o)) {
|
|
103
|
+
const { x: w, x2: _, y, y2: Q, o: g, o2: C, json: I } = e;
|
|
104
104
|
let l = {};
|
|
105
105
|
if (I) try {
|
|
106
106
|
l = JSON.parse(I);
|
|
@@ -109,18 +109,17 @@ class k {
|
|
|
109
109
|
continue;
|
|
110
110
|
}
|
|
111
111
|
else
|
|
112
|
-
(w ??
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
this.setTwProp(E, i), f.chain(E), f = E;
|
|
112
|
+
(w ?? _) && (l.x = w ?? _), (y ?? Q) && (l.y = y ?? Q), (g ?? C) && (l.alpha = Number(g ?? C));
|
|
113
|
+
const b = this.cnvTweenArg(l, s);
|
|
114
|
+
T.debugLog && console.info(`🍝 ${I ?? `{x:${String(w)} y:${String(y)} o:${String(g)}}`} => hTo:${JSON.stringify(b)}`);
|
|
115
|
+
const m = new B(s).to(b, d);
|
|
116
|
+
this.setTwProp(m, i), f.chain(m), f = m;
|
|
118
117
|
}
|
|
119
|
-
|
|
118
|
+
T.debugLog && console.groupEnd();
|
|
120
119
|
}
|
|
121
120
|
f.onComplete(() => {
|
|
122
121
|
const e = this.#t[t];
|
|
123
|
-
e?.tw && (delete this.#t[t], e.tw = void 0, o.stop(), e.onEnd?.(),
|
|
122
|
+
e?.tw && (delete this.#t[t], e.tw = void 0, o.stop(), e.onEnd?.(), r(), x.notifyEndProc($ + t));
|
|
124
123
|
});
|
|
125
124
|
const { chain: O } = i;
|
|
126
125
|
if (O) {
|
|
@@ -149,13 +148,13 @@ class k {
|
|
|
149
148
|
static #o = /\(\s*(?:(?<x>[-=\d.]+)|(['"])(?<x2>.*?)\2)?(?:\s*,\s*(?:(?<y>[-=\d.]+)|(['"])(?<y2>.*?)\5)?(?:\s*,\s*(?:(?<o>[-=\d.]+)|(['"])(?<o2>.*?)\8))?)?|(?<json>\{[^{}]*})/g;
|
|
150
149
|
// トランス終了待ち
|
|
151
150
|
static wt(t) {
|
|
152
|
-
if (!this.#t[
|
|
151
|
+
if (!this.#t[S]?.tw) return !1;
|
|
153
152
|
const s = () => this.stopEndTrans();
|
|
154
|
-
return x.beginProc(
|
|
153
|
+
return x.beginProc(S, s, !0, s), !0;
|
|
155
154
|
}
|
|
156
155
|
// レイヤのトランジションの停止
|
|
157
156
|
static stopEndTrans() {
|
|
158
|
-
this.#t[
|
|
157
|
+
this.#t[S]?.tw?.stop().end();
|
|
159
158
|
}
|
|
160
159
|
// stop()とend()は別
|
|
161
160
|
// トゥイーン終了待ち
|
|
@@ -189,6 +188,6 @@ ${s}` : a ?? i;
|
|
|
189
188
|
}
|
|
190
189
|
export {
|
|
191
190
|
k as C,
|
|
192
|
-
|
|
191
|
+
S as T
|
|
193
192
|
};
|
|
194
193
|
//# sourceMappingURL=CmnTween.js.map
|
package/dist/CmnTween.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmnTween.js","sources":["../src/sn/CmnTween.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2019-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {type IEvtMng, CmnLib, argChk_Boolean, argChk_Num} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport type {Layer} from './Layer';\nimport {Reading} from './Reading';\n\nimport {Tween, Easing, removeAll, update} from '@tweenjs/tween.js'\nimport type {Application} from 'pixi.js';\n\n\ntype ITwInf = {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\ttw\t\t: Tween<any> | undefined;\n\tonEnd?\t: ()=> void;\n}\n\nexport const TW_NM_TRANS = 'trans\\n';\t// 改行でスクリプトから絶対指定できない値に\nconst PID_HD_TW\t= 'tsy nm:';\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class CmnTween {\n\tstatic\t#hTwInf\t: {[tw_nm: string]: ITwInf}\t= {};\n\n\tstatic\t#evtMng\t: IEvtMng;\n\tstatic\t#appPixi: Application;\n\tstatic\tinit(evtMng: IEvtMng, appPixi: Application) {\n\t\tthis.#hTwInf = {};\n\t\tthis.#evtMng = evtMng;\n\t\tthis.#appPixi = appPixi;\n\n\t\tthis.#appPixi.ticker.add(this.#fncTicker);\t// TWEEN 更新\n\t}\n\tstatic\t#fncTicker = ()=> update();\n\tstatic\tdestroy() {\n\t\tthis.stopAllTw();\n\t\tthis.#appPixi.ticker.remove(this.#fncTicker);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\tsetTwProp(tw: Tween<any>, hArg: TArg): Tween<any> {\n\t\tconst repeat = argChk_Num(hArg, 'repeat', 1);\n\t\treturn tw.delay(argChk_Num(hArg, 'delay', 0))\n\t\t.easing(this.ease(hArg.ease))\n\t\t.repeat(repeat > 0 ?repeat -1 :Infinity)\t// 一度リピート→計二回なので\n\t\t.yoyo(argChk_Boolean(hArg, 'yoyo', false));\n\t}\n\tstatic\treadonly #hEase: {[name: string]: (k: number)=> number}\t= {\n\t\t'Back.In'\t\t\t: k=> Easing.Back.In(k),\n\t\t'Back.InOut'\t\t: k=> Easing.Back.InOut(k),\n\t\t'Back.Out'\t\t\t: k=> Easing.Back.Out(k),\n\t\t'Bounce.In'\t\t\t: k=> Easing.Bounce.In(k),\n\t\t'Bounce.InOut'\t\t: k=> Easing.Bounce.InOut(k),\n\t\t'Bounce.Out'\t\t: k=> Easing.Bounce.Out(k),\n\t\t'Circular.In'\t\t: k=> Easing.Circular.In(k),\n\t\t'Circular.InOut'\t: k=> Easing.Circular.InOut(k),\n\t\t'Circular.Out'\t\t: k=> Easing.Circular.Out(k),\n\t\t'Cubic.In'\t\t\t: k=> Easing.Cubic.In(k),\n\t\t'Cubic.InOut'\t\t: k=> Easing.Cubic.InOut(k),\n\t\t'Cubic.Out'\t\t\t: k=> Easing.Cubic.Out(k),\n\t\t'Elastic.In'\t\t: k=> Easing.Elastic.In(k),\n\t\t'Elastic.InOut'\t\t: k=> Easing.Elastic.InOut(k),\n\t\t'Elastic.Out'\t\t: k=> Easing.Elastic.Out(k),\n\t\t'Exponential.In'\t: k=> Easing.Exponential.In(k),\n\t\t'Exponential.InOut'\t: k=> Easing.Exponential.InOut(k),\n\t\t'Exponential.Out'\t: k=> Easing.Exponential.Out(k),\n\t\t'Linear.None'\t\t: k=> Easing.Linear.None(k),\n\t\t'Quadratic.In'\t\t: k=> Easing.Quadratic.In(k),\n\t\t'Quadratic.InOut'\t: k=> Easing.Quadratic.InOut(k),\n\t\t'Quadratic.Out'\t\t: k=> Easing.Quadratic.Out(k),\n\t\t'Quartic.In'\t\t: k=> Easing.Quartic.In(k),\n\t\t'Quartic.InOut'\t\t: k=> Easing.Quartic.InOut(k),\n\t\t'Quartic.Out'\t\t: k=> Easing.Quartic.Out(k),\n\t\t'Quintic.In'\t\t: k=> Easing.Quintic.In(k),\n\t\t'Quintic.InOut'\t\t: k=> Easing.Quintic.InOut(k),\n\t\t'Quintic.Out'\t\t: k=> Easing.Quintic.Out(k),\n\t\t'Sinusoidal.In'\t\t: k=> Easing.Sinusoidal.In(k),\n\t\t'Sinusoidal.InOut'\t: k=> Easing.Sinusoidal.InOut(k),\n\t\t'Sinusoidal.Out'\t: k=> Easing.Sinusoidal.Out(k),\n\t};\n\tstatic\tease(nm: string | undefined): (k: number)=> number {\n\t\tif (! nm) return k=> Easing.Linear.None(k);\n\n\t\tconst es = this.#hEase[nm];\n\t\tif (! es) throw '異常なease指定です';\n\t\treturn es;\n\t}\n\n\tstatic readonly aLayerPrpNm = <(keyof Layer)[]>[\n\t\t'alpha',\n\t\t'height',\n\t\t'rotation',\t// rotationX〜Z、scaleZ、zは設定すると\n\t\t'scale_x',\t// 三次元方向の拡大縮小ルーチンが働き画像がぼやけるので\n\t\t'scale_y',\t// backlayで設定しない方針\n\t\t'pivot_x',\n\t\t'pivot_y',\n\t\t'width',\n\t\t'x',\n\t\t'y',\n\t];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic cnvTweenArg(hArg: TArg, lay: any): TArg {\n\t\tconst hTo: {[val_name: string]: number} = {};\n\t\tfor (const nm of CmnTween.aLayerPrpNm) {\n\t\t\tconst arg = hArg[<keyof TArg>nm];\n\t\t\tif (! arg) continue;\n\n\t\t\t// {x:500}\t\t\tX位置を500に\n\t\t\t// {x:'=500'}\t\t現在のX位置に+500加算した位置\n\t\t\t// {x:'=-500'}\t\t現在のX位置に-500加算した位置\n\t\t\t// {x:'250,500'}\t+250から+500までの間でランダムな値をX位置に\n\t\t\t// {x:'=250,500'}\t+250から+500までの間でランダムな値を現在のX位置に加算\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\t\tconst v = String(arg);\n\t\t\tconst hdeq = v.startsWith('=');\n\t\t\tconst vx = hdeq ?v.slice(1) :v;\n\t\t\tif (! vx) continue;\n\n\t\t\tconst [v0='0', v1] = vx.split(',');\n\t\t\tconst a0 = hTo[nm] = parseFloat(v0);\n\n\t\t\tif (v1) hTo[nm] += Math.round(\n\t\t\t\tMath.random() * (parseFloat(v1) -a0 +1)\n\t\t\t);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tif (hdeq) hTo[nm] += parseFloat(lay[nm]);\t// 相対に\n\t\t}\n\t\treturn hTo;\n\t}\n\n\n\t// トゥイーン全停止\n\tstatic\tstopAllTw() {this.#hTwInf = {}; removeAll()}\n\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\ttween(tw_nm: string, hArg: TArg, hNow: any, hTo: any, onUpdate: (d: any)=> void, onComplete: ()=> void, onEnd: ()=> void, start = true): Tween<any> {\n\t\tconst time = this.#evtMng.isSkipping ?0 :argChk_Num(hArg, 'time', NaN);\n\t\tconst tw = new Tween(hNow)\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t.to(hTo, time)\n\t\t.onUpdate(d=> onUpdate(d));\n\t\tthis.setTwProp(tw, hArg);\n\t\tthis.#hTwInf[tw_nm] = {tw, onEnd};\n\n\t\tconst {path} = hArg;\n\t\tlet twLast = tw;\n\t\tif (path) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, @typescript-eslint/no-unsafe-member-access\n\t\t\tif (CmnLib.debugLog) console.group(`🍝 [${hArg[':タグ名']}] path=${path}= start(${hNow.x},${hNow.y},${hNow.alpha})`);\n\t\t\tfor (const {groups} of path.matchAll(this.#REG_TSY_PATH)) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst {x, x2, y, y2, o, o2, json} = groups!;\n\t\t\t\tlet hArg2: TArg = {};\n\t\t\t\tif (json) try {hArg2 = <TArg>JSON.parse(json)} catch (e) {\n\t\t\t\t\tconsole.error(`🍝 json=${json} `+ String(e));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (x ?? x2) hArg2.x = x ?? x2;\n\t\t\t\t\tif (y ?? y2) hArg2.y = y ?? y2;\n\t\t\t\t\tif (o ?? o2) hArg2.alpha = Number(o ?? o2);\n\t\t\t\t}\n\n\t\t\t\tconst hTo2 = this.cnvTweenArg(hArg2, hNow);\n\t\t\t\tif (CmnLib.debugLog) console.info(`🍝 ${\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t\tjson ?? `{x:${x} y:${y} o:${o}}`\n\t\t\t\t} => hTo:${JSON.stringify(hTo2)}`);\n\n\t\t\t\tconst twNew = new Tween(hNow)\n\t\t\t\t.to(hTo2, time);\n\t\t\t\tthis.setTwProp(twNew, hArg);\n\t\t\t\ttwLast.chain(twNew);\n\n\t\t\t\ttwLast = twNew;\n\t\t\t}\n\t\t\tif (CmnLib.debugLog) console.groupEnd();\n\t\t}\n\t\ttwLast.onComplete(()=> {\n\t\t\tconst ti = this.#hTwInf[tw_nm];\n\t\t\tif (! ti?.tw) return;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete this.#hTwInf[tw_nm];\n\n\t\t\tti.tw = undefined;\n\t\t\ttw.stop();\n\t\t\tti.onEnd?.();\n\n\t\t\tonComplete();\n\t\t\tReading.notifyEndProc(PID_HD_TW + tw_nm);\t// ラストに\n\t\t});\n\n\t\tconst {chain} = hArg;\n\t\tif (chain) {\t// 指定レイヤのアニメ終了に、このトゥイーンを続ける\n\t\t\tconst twFrom = this.#hTwInf[chain];\n\t\t\tif (! twFrom?.tw) throw `${chain}は存在しない・または終了したトゥイーンです`;\n\t\t\tdelete twFrom.onEnd;\n\t\t\ttwFrom.tw.chain(tw);\n\t\t}\n\t\telse if (start) tw.start();\n\n\t\treturn tw;\n\t}\n\t// 11 match 301 step (0.1ms) PCRE2 https://regex101.com/r/reinpq/1\n\t\t// List ${x}${x2}/${y}${y2}/${o}${o2}=${json}\\n\n/*\n\\(\\s*\n(?:\t(?<x>[-=\\d\\.]+)\t|\t(['\"])\t(?<x2>.*?)\t\\2\t)?\n(?:\n\t\\s*,\\s*\n\t(?:\t(?<y>[-=\\d\\.]+)\t|\t(['\"])\t(?<y2>.*?)\t\\5\t)?\n\t(?:\n\t\t\\s*,\\s*\n\t\t(?:\t(?<o>[-=\\d\\.]+)\t|\t(['\"])\t(?<o2>.*?)\t\\8\t)\n\t)?\n)?\n|\n(?<json>\\{[^{}]*})\n*/\n\tstatic\treadonly\t#REG_TSY_PATH\t= /\\(\\s*(?:(?<x>[-=\\d.]+)|(['\"])(?<x2>.*?)\\2)?(?:\\s*,\\s*(?:(?<y>[-=\\d.]+)|(['\"])(?<y2>.*?)\\5)?(?:\\s*,\\s*(?:(?<o>[-=\\d.]+)|(['\"])(?<o2>.*?)\\8))?)?|(?<json>\\{[^{}]*})/g;\n\n\t// トランス終了待ち\n\tstatic\twt(_hArg: TArg) {\n\t\tconst ti = this.#hTwInf[TW_NM_TRANS];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> this.stopEndTrans();\n\t\tReading.beginProc(TW_NM_TRANS, fnc, true, fnc);\n\t\treturn true;\n\t}\n\n\t// レイヤのトランジションの停止\n\tstatic\tstopEndTrans() {this.#hTwInf[TW_NM_TRANS]?.tw?.stop().end()}\n\t\t// stop()とend()は別\n\n\n\t// トゥイーン終了待ち\n\tstatic\twait_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tconst ti = this.#hTwInf[tw_nm];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> ti.tw?.end();\t// stop()とend()は別\n\t\tReading.beginProc(PID_HD_TW + tw_nm, fnc, true, fnc);\n\t\treturn true;\n\t}\n\t\tstatic\t#tw_nm(hArg: TArg) {\n\t\t\tconst {layer='', id, name} = hArg;\n\t\t\tconst tw_nm = id ?`frm\\n${id}` :name ?? layer;\n\t\t\tif (! tw_nm) throw 'トゥイーンが指定されていません';\n\n\t\t\treturn tw_nm;\n\t\t}\n\n\t// トゥイーン中断\n\tstatic\tstop_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.stop().end();\t// stop()とend()は別\n\t\treturn false;\n\t}\n\n\t// 一時停止\n\tstatic\tpause_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.pause();\n\t\treturn false;\n\t}\n\n\t// 一時停止再開\n\tstatic\tresume_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.resume();\n\t\treturn false;\n\t}\n\n}\n"],"names":["TW_NM_TRANS","PID_HD_TW","CmnTween","#hTwInf","#evtMng","#appPixi","evtMng","appPixi","#fncTicker","update","tw","hArg","repeat","argChk_Num","argChk_Boolean","#hEase","k","Easing","nm","es","lay","hTo","arg","v","hdeq","vx","v0","v1","a0","removeAll","tw_nm","hNow","onUpdate","onComplete","onEnd","start","time","Tween","d","path","twLast","CmnLib","groups","#REG_TSY_PATH","x","x2","y2","o","o2","json","hArg2","e","hTo2","twNew","ti","Reading","chain","twFrom","_hArg","fnc","#tw_nm","layer","id","name"],"mappings":";;AAsBO,MAAMA,IAAc;AAAA,GACrBC,IAAY;AAIX,MAAMC,EAAS;AAAA,EACrB,OAAOC,KAAsC,CAAA;AAAA,EAE7C,OAAOC;AAAA,EACP,OAAOC;AAAA,EACP,OAAO,KAAKC,GAAiBC,GAAsB;AAClD,SAAKJ,KAAU,CAAA,GACf,KAAKC,KAAUE,GACf,KAAKD,KAAWE,GAEhB,KAAKF,GAAS,OAAO,IAAI,KAAKG,EAAU;AAAA,EACzC;AAAA,EACA,OAAOA,KAAa,MAAKC,EAAA;AAAA,EACzB,OAAO,UAAU;AAChB,SAAK,UAAA,GACL,KAAKJ,GAAS,OAAO,OAAO,KAAKG,EAAU;AAAA,EAC5C;AAAA;AAAA,EAGA,OAAO,UAAUE,GAAgBC,GAAwB;AACxD,UAAMC,IAASC,EAAWF,GAAM,UAAU,CAAC;AAC3C,WAAOD,EAAG,MAAMG,EAAWF,GAAM,SAAS,CAAC,CAAC,EAC3C,OAAO,KAAK,KAAKA,EAAK,IAAI,CAAC,EAC3B,OAAOC,IAAS,IAAGA,IAAQ,IAAG,KAAQ,EACtC,KAAKE,EAAeH,GAAM,QAAQ,EAAK,CAAC;AAAA,EAC1C;AAAA,EACA,OAAgBI,KAAiD;AAAA,IAChE,WAAc,CAAAC,MAAIC,EAAO,KAAK,GAAGD,CAAC;AAAA,IAClC,cAAgB,CAAAA,MAAIC,EAAO,KAAK,MAAMD,CAAC;AAAA,IACvC,YAAe,CAAAA,MAAIC,EAAO,KAAK,IAAID,CAAC;AAAA,IACpC,aAAgB,CAAAA,MAAIC,EAAO,OAAO,GAAGD,CAAC;AAAA,IACtC,gBAAkB,CAAAA,MAAIC,EAAO,OAAO,MAAMD,CAAC;AAAA,IAC3C,cAAgB,CAAAA,MAAIC,EAAO,OAAO,IAAID,CAAC;AAAA,IACvC,eAAiB,CAAAA,MAAIC,EAAO,SAAS,GAAGD,CAAC;AAAA,IACzC,kBAAmB,CAAAA,MAAIC,EAAO,SAAS,MAAMD,CAAC;AAAA,IAC9C,gBAAkB,CAAAA,MAAIC,EAAO,SAAS,IAAID,CAAC;AAAA,IAC3C,YAAe,CAAAA,MAAIC,EAAO,MAAM,GAAGD,CAAC;AAAA,IACpC,eAAiB,CAAAA,MAAIC,EAAO,MAAM,MAAMD,CAAC;AAAA,IACzC,aAAgB,CAAAA,MAAIC,EAAO,MAAM,IAAID,CAAC;AAAA,IACtC,cAAgB,CAAAA,MAAIC,EAAO,QAAQ,GAAGD,CAAC;AAAA,IACvC,iBAAmB,CAAAA,MAAIC,EAAO,QAAQ,MAAMD,CAAC;AAAA,IAC7C,eAAiB,CAAAA,MAAIC,EAAO,QAAQ,IAAID,CAAC;AAAA,IACzC,kBAAmB,CAAAA,MAAIC,EAAO,YAAY,GAAGD,CAAC;AAAA,IAC9C,qBAAsB,CAAAA,MAAIC,EAAO,YAAY,MAAMD,CAAC;AAAA,IACpD,mBAAoB,CAAAA,MAAIC,EAAO,YAAY,IAAID,CAAC;AAAA,IAChD,eAAiB,CAAAA,MAAIC,EAAO,OAAO,KAAKD,CAAC;AAAA,IACzC,gBAAkB,CAAAA,MAAIC,EAAO,UAAU,GAAGD,CAAC;AAAA,IAC3C,mBAAoB,CAAAA,MAAIC,EAAO,UAAU,MAAMD,CAAC;AAAA,IAChD,iBAAmB,CAAAA,MAAIC,EAAO,UAAU,IAAID,CAAC;AAAA,IAC7C,cAAgB,CAAAA,MAAIC,EAAO,QAAQ,GAAGD,CAAC;AAAA,IACvC,iBAAmB,CAAAA,MAAIC,EAAO,QAAQ,MAAMD,CAAC;AAAA,IAC7C,eAAiB,CAAAA,MAAIC,EAAO,QAAQ,IAAID,CAAC;AAAA,IACzC,cAAgB,CAAAA,MAAIC,EAAO,QAAQ,GAAGD,CAAC;AAAA,IACvC,iBAAmB,CAAAA,MAAIC,EAAO,QAAQ,MAAMD,CAAC;AAAA,IAC7C,eAAiB,CAAAA,MAAIC,EAAO,QAAQ,IAAID,CAAC;AAAA,IACzC,iBAAmB,CAAAA,MAAIC,EAAO,WAAW,GAAGD,CAAC;AAAA,IAC7C,oBAAqB,CAAAA,MAAIC,EAAO,WAAW,MAAMD,CAAC;AAAA,IAClD,kBAAmB,CAAAA,MAAIC,EAAO,WAAW,IAAID,CAAC;AAAA,EAAA;AAAA,EAE/C,OAAO,KAAKE,GAA8C;AACzD,QAAI,CAAEA,EAAI,QAAO,OAAID,EAAO,OAAO,KAAKD,CAAC;AAEzC,UAAMG,IAAK,KAAKJ,GAAOG,CAAE;AACzB,QAAI,CAAEC,EAAI,OAAM;AAChB,WAAOA;AAAA,EACR;AAAA,EAEA,OAAgB,cAA+B;AAAA,IAC9C;AAAA,IACA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA;AAAA,EAGD,OAAO,YAAYR,GAAYS,GAAgB;AAC9C,UAAMC,IAAoC,CAAA;AAC1C,eAAWH,KAAMhB,EAAS,aAAa;AACtC,YAAMoB,IAAMX,EAAiBO,CAAE;AAC/B,UAAI,CAAEI,EAAK;AAQX,YAAMC,IAAI,OAAOD,CAAG,GACdE,IAAOD,EAAE,WAAW,GAAG,GACvBE,IAAKD,IAAMD,EAAE,MAAM,CAAC,IAAGA;AAC7B,UAAI,CAAEE,EAAI;AAEV,YAAM,CAACC,IAAG,KAAKC,CAAE,IAAIF,EAAG,MAAM,GAAG,GAC3BG,IAAKP,EAAIH,CAAE,IAAI,WAAWQ,CAAE;AAElC,MAAIC,MAAIN,EAAIH,CAAE,KAAK,KAAK;AAAA,QACvB,KAAK,OAAA,KAAY,WAAWS,CAAE,IAAGC,IAAI;AAAA,MAAA,IAGlCJ,MAAMH,EAAIH,CAAE,KAAK,WAAWE,EAAIF,CAAE,CAAC;AAAA,IACxC;AACA,WAAOG;AAAA,EACR;AAAA;AAAA,EAIA,OAAO,YAAY;AAAC,SAAKlB,KAAU,CAAA,GAAI0B,EAAA;AAAA,EAAW;AAAA;AAAA,EAIlD,OAAO,MAAMC,GAAenB,GAAYoB,GAAWV,GAAUW,GAA2BC,GAAuBC,GAAkBC,IAAQ,IAAkB;AAC1J,UAAMC,IAAO,KAAKhC,GAAQ,aAAY,IAAGS,EAAWF,GAAM,QAAQ,GAAG,GAC/DD,IAAK,IAAI2B,EAAMN,CAAI,EAExB,GAAGV,GAAKe,CAAI,EACZ,SAAS,CAAAE,MAAIN,EAASM,CAAC,CAAC;AACzB,SAAK,UAAU5B,GAAIC,CAAI,GACvB,KAAKR,GAAQ2B,CAAK,IAAI,EAAC,IAAApB,GAAI,OAAAwB,EAAA;AAE3B,UAAM,EAAC,MAAAK,MAAQ5B;AACf,QAAI6B,IAAS9B;AACb,QAAI6B,GAAM;AAET,MAAIE,EAAO,YAAU,QAAQ,MAAM,OAAO9B,EAAK,MAAM,CAAC,UAAU4B,CAAI,WAAWR,EAAK,CAAC,IAAIA,EAAK,CAAC,IAAIA,EAAK,KAAK,GAAG;AAChH,iBAAW,EAAC,QAAAW,OAAWH,EAAK,SAAS,KAAKI,EAAa,GAAG;AAEzD,cAAM,EAAC,GAAAC,GAAG,IAAAC,GAAI,GAAG,IAAAC,GAAI,GAAAC,GAAG,IAAAC,GAAI,MAAAC,MAAQP;AACpC,YAAIQ,IAAc,CAAA;AAClB,YAAID,EAAM,KAAI;AAAC,UAAAC,IAAc,KAAK,MAAMD,CAAI;AAAA,QAAC,SAASE,GAAG;AACxD,kBAAQ,MAAM,WAAWF,CAAI,MAAK,OAAOE,CAAC,CAAC;AAC3C;AAAA,QACD;AAAA;AAEC,WAAIP,KAAKC,OAAIK,EAAM,IAAIN,KAAKC,KACxB,KAAKC,OAAII,EAAM,IAAI,KAAKJ,KACxBC,KAAKC,OAAIE,EAAM,QAAQ,OAAOH,KAAKC,CAAE;AAG1C,cAAMI,IAAO,KAAK,YAAYF,GAAOnB,CAAI;AACzC,QAAIU,EAAO,YAAU,QAAQ,KAAK;AAAA,QAEjCQ,KAAQ,MAAML,CAAC,MAAM,CAAC,MAAMG,CAAC,GAC9B,WAAW,KAAK,UAAUK,CAAI,CAAC,EAAE;AAEjC,cAAMC,IAAQ,IAAIhB,EAAMN,CAAI,EAC3B,GAAGqB,GAAMhB,CAAI;AACd,aAAK,UAAUiB,GAAO1C,CAAI,GAC1B6B,EAAO,MAAMa,CAAK,GAElBb,IAASa;AAAA,MACV;AACA,MAAIZ,EAAO,YAAU,QAAQ,SAAA;AAAA,IAC9B;AACA,IAAAD,EAAO,WAAW,MAAK;AACtB,YAAMc,IAAK,KAAKnD,GAAQ2B,CAAK;AAC7B,MAAMwB,GAAI,OAEV,OAAO,KAAKnD,GAAQ2B,CAAK,GAEzBwB,EAAG,KAAK,QACR5C,EAAG,KAAA,GACH4C,EAAG,QAAA,GAEHrB,EAAA,GACAsB,EAAQ,cAActD,IAAY6B,CAAK;AAAA,IACxC,CAAC;AAED,UAAM,EAAC,OAAA0B,MAAS7C;AAChB,QAAI6C,GAAO;AACV,YAAMC,IAAS,KAAKtD,GAAQqD,CAAK;AACjC,UAAI,CAAEC,GAAQ,GAAI,OAAM,GAAGD,CAAK;AAChC,aAAOC,EAAO,OACdA,EAAO,GAAG,MAAM/C,CAAE;AAAA,IACnB,MAAA,CACSyB,KAAOzB,EAAG,MAAA;AAEnB,WAAOA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,OAAgBiC,KAAgB;AAAA;AAAA,EAGhC,OAAO,GAAGe,GAAa;AAEtB,QAAI,CADO,KAAKvD,GAAQH,CAAW,GACzB,GAAI,QAAO;AAErB,UAAM2D,IAAM,MAAK,KAAK,aAAA;AACtB,WAAAJ,EAAQ,UAAUvD,GAAa2D,GAAK,IAAMA,CAAG,GACtC;AAAA,EACR;AAAA;AAAA,EAGA,OAAO,eAAe;AAAC,SAAKxD,GAAQH,CAAW,GAAG,IAAI,KAAA,EAAO,IAAA;AAAA,EAAK;AAAA;AAAA;AAAA,EAKlE,OAAO,SAASW,GAAY;AAC3B,UAAMmB,IAAQ,KAAK8B,GAAOjD,CAAI,GACxB2C,IAAK,KAAKnD,GAAQ2B,CAAK;AAC7B,QAAI,CAAEwB,GAAI,GAAI,QAAO;AAErB,UAAMK,IAAM,MAAKL,EAAG,IAAI,IAAA;AACxB,WAAAC,EAAQ,UAAUtD,IAAY6B,GAAO6B,GAAK,IAAMA,CAAG,GAC5C;AAAA,EACR;AAAA,EACC,OAAOC,GAAOjD,GAAY;AACzB,UAAM,EAAC,OAAAkD,IAAM,IAAI,IAAAC,GAAI,MAAAC,MAAQpD,GACvBmB,IAAQgC,IAAI;AAAA,EAAQA,CAAE,KAAIC,KAAQF;AACxC,QAAI,CAAE/B,EAAO,OAAM;AAEnB,WAAOA;AAAA,EACR;AAAA;AAAA,EAGD,OAAO,SAASnB,GAAY;AAC3B,UAAMmB,IAAQ,KAAK8B,GAAOjD,CAAI;AAC9B,gBAAKR,GAAQ2B,CAAK,GAAG,IAAI,KAAA,EAAO,IAAA,GACzB;AAAA,EACR;AAAA;AAAA,EAGA,OAAO,UAAUnB,GAAY;AAC5B,UAAMmB,IAAQ,KAAK8B,GAAOjD,CAAI;AAC9B,gBAAKR,GAAQ2B,CAAK,GAAG,IAAI,MAAA,GAClB;AAAA,EACR;AAAA;AAAA,EAGA,OAAO,WAAWnB,GAAY;AAC7B,UAAMmB,IAAQ,KAAK8B,GAAOjD,CAAI;AAC9B,gBAAKR,GAAQ2B,CAAK,GAAG,IAAI,OAAA,GAClB;AAAA,EACR;AAED;"}
|
|
1
|
+
{"version":3,"file":"CmnTween.js","sources":["../src/sn/CmnTween.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2019-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {type IEvtMng, CmnLib, argChk_Boolean, argChk_Num} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport type {Layer} from './Layer';\nimport {Reading} from './Reading';\n\nimport {Tween, Easing, removeAll, update} from '@tweenjs/tween.js'\nimport type {Application} from 'pixi.js';\n\n\ntype ITwInf = {\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\ttw\t\t: Tween<any> | undefined;\n\tonEnd?\t: ()=> void;\n}\n\nexport const TW_NM_TRANS = 'trans\\n';\t// 改行でスクリプトから絶対指定できない値に\nconst PID_HD_TW\t= 'tsy nm:';\n\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class CmnTween {\n\tstatic\t#hTwInf\t: {[tw_nm: string]: ITwInf}\t= {};\n\n\tstatic\t#evtMng\t: IEvtMng;\n\tstatic\t#appPixi: Application;\n\tstatic\tinit(evtMng: IEvtMng, appPixi: Application) {\n\t\tthis.#hTwInf = {};\n\t\tthis.#evtMng = evtMng;\n\t\tthis.#appPixi = appPixi;\n\n\t\tthis.#appPixi.ticker.add(this.#fncTicker);\t// TWEEN 更新\n\t}\n\tstatic\t#fncTicker = ()=> update();\n\tstatic\tdestroy() {\n\t\tthis.stopAllTw();\n\t\tthis.#appPixi.ticker.remove(this.#fncTicker);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\tsetTwProp(tw: Tween<any>, hArg: TArg): Tween<any> {\n\t\tconst repeat = argChk_Num(hArg, 'repeat', 1);\n\t\treturn tw.delay(argChk_Num(hArg, 'delay', 0))\n\t\t.easing(this.ease(hArg.ease))\n\t\t.repeat(repeat > 0 ?repeat -1 :Infinity)\t// 一度リピート→計二回なので\n\t\t.yoyo(argChk_Boolean(hArg, 'yoyo', false));\n\t}\n\tstatic\treadonly #hEase: {[name: string]: (k: number)=> number}\t= {\n\t\t'Back.In'\t\t\t: k=> Easing.Back.In(k),\n\t\t'Back.InOut'\t\t: k=> Easing.Back.InOut(k),\n\t\t'Back.Out'\t\t\t: k=> Easing.Back.Out(k),\n\t\t'Bounce.In'\t\t\t: k=> Easing.Bounce.In(k),\n\t\t'Bounce.InOut'\t\t: k=> Easing.Bounce.InOut(k),\n\t\t'Bounce.Out'\t\t: k=> Easing.Bounce.Out(k),\n\t\t'Circular.In'\t\t: k=> Easing.Circular.In(k),\n\t\t'Circular.InOut'\t: k=> Easing.Circular.InOut(k),\n\t\t'Circular.Out'\t\t: k=> Easing.Circular.Out(k),\n\t\t'Cubic.In'\t\t\t: k=> Easing.Cubic.In(k),\n\t\t'Cubic.InOut'\t\t: k=> Easing.Cubic.InOut(k),\n\t\t'Cubic.Out'\t\t\t: k=> Easing.Cubic.Out(k),\n\t\t'Elastic.In'\t\t: k=> Easing.Elastic.In(k),\n\t\t'Elastic.InOut'\t\t: k=> Easing.Elastic.InOut(k),\n\t\t'Elastic.Out'\t\t: k=> Easing.Elastic.Out(k),\n\t\t'Exponential.In'\t: k=> Easing.Exponential.In(k),\n\t\t'Exponential.InOut'\t: k=> Easing.Exponential.InOut(k),\n\t\t'Exponential.Out'\t: k=> Easing.Exponential.Out(k),\n\t\t'Linear.None'\t\t: k=> Easing.Linear.None(k),\n\t\t'Quadratic.In'\t\t: k=> Easing.Quadratic.In(k),\n\t\t'Quadratic.InOut'\t: k=> Easing.Quadratic.InOut(k),\n\t\t'Quadratic.Out'\t\t: k=> Easing.Quadratic.Out(k),\n\t\t'Quartic.In'\t\t: k=> Easing.Quartic.In(k),\n\t\t'Quartic.InOut'\t\t: k=> Easing.Quartic.InOut(k),\n\t\t'Quartic.Out'\t\t: k=> Easing.Quartic.Out(k),\n\t\t'Quintic.In'\t\t: k=> Easing.Quintic.In(k),\n\t\t'Quintic.InOut'\t\t: k=> Easing.Quintic.InOut(k),\n\t\t'Quintic.Out'\t\t: k=> Easing.Quintic.Out(k),\n\t\t'Sinusoidal.In'\t\t: k=> Easing.Sinusoidal.In(k),\n\t\t'Sinusoidal.InOut'\t: k=> Easing.Sinusoidal.InOut(k),\n\t\t'Sinusoidal.Out'\t: k=> Easing.Sinusoidal.Out(k),\n\t};\n\tstatic\tease(nm: string | undefined): (k: number)=> number {\n\t\tif (! nm) return k=> Easing.Linear.None(k);\n\n\t\tconst es = this.#hEase[nm];\n\t\tif (! es) throw '異常なease指定です';\n\t\treturn es;\n\t}\n\n\tstatic readonly aLayerPrpNm = <(keyof Layer)[]>[\n\t\t'alpha',\n\t\t'height',\n\t\t'rotation',\t// rotationX〜Z、scaleZ、zは設定すると\n\t\t'scale_x',\t// 三次元方向の拡大縮小ルーチンが働き画像がぼやけるので\n\t\t'scale_y',\t// backlayで設定しない方針\n\t\t'pivot_x',\n\t\t'pivot_y',\n\t\t'width',\n\t\t'x',\n\t\t'y',\n\t];\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic cnvTweenArg(hArg: TArg, lay: any): TArg {\n\t\tconst hTo: {[val_name: string]: number} = {};\n\t\tfor (const nm of CmnTween.aLayerPrpNm) {\n\t\t\tconst arg = hArg[<keyof TArg>nm];\n\t\t\tif (! arg) continue;\n\n\t\t\t// {x:500}\t\t\tX位置を500に\n\t\t\t// {x:'=500'}\t\t現在のX位置に+500加算した位置\n\t\t\t// {x:'=-500'}\t\t現在のX位置に-500加算した位置\n\t\t\t// {x:'250,500'}\t+250から+500までの間でランダムな値をX位置に\n\t\t\t// {x:'=250,500'}\t+250から+500までの間でランダムな値を現在のX位置に加算\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-base-to-string\n\t\t\tconst v = String(arg);\n\t\t\tconst hdeq = v.startsWith('=');\n\t\t\tconst vx = hdeq ?v.slice(1) :v;\n\t\t\tif (! vx) continue;\n\n\t\t\tconst [v0='0', v1] = vx.split(',');\n\t\t\tconst a0 = hTo[nm] = parseFloat(v0);\n\n\t\t\tif (v1) hTo[nm] += Math.round(\n\t\t\t\tMath.random() * (parseFloat(v1) -a0 +1)\n\t\t\t);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tif (hdeq) hTo[nm] += parseFloat(lay[nm]);\t// 相対に\n\t\t}\n\t\treturn hTo;\n\t}\n\n\n\t// トゥイーン全停止\n\tstatic\tstopAllTw() {this.#hTwInf = {}; removeAll()}\n\n\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic\ttween(tw_nm: string, hArg: TArg, hNow: any, hTo: any, onUpdate: (d: any)=> void, onComplete: ()=> void, onEnd: ()=> void, start = true): Tween<any> {\n\t\tconst time = this.#evtMng.isSkipping ?0 :argChk_Num(hArg, 'time', NaN);\n\t\tconst tw = new Tween(hNow)\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t.to(hTo, time)\n\t\t.onUpdate(d=> onUpdate(d));\n\t\tthis.setTwProp(tw, hArg);\n\t\tthis.#hTwInf[tw_nm] = {tw, onEnd};\n\n\t\tconst {path} = hArg;\n\t\tlet twLast = tw;\n\t\tif (path) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (CmnLib.debugLog) console.group(`🍝 [${hArg[':タグ名'] ?? ''}] path=${path}= start(${String(hNow.x)},${String(hNow.y)},${String(hNow.alpha)})`);\n\t\t\tfor (const {groups} of path.matchAll(this.#REG_TSY_PATH)) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n\t\t\t\tconst {x, x2, y, y2, o, o2, json} = groups!;\n\t\t\t\tlet hArg2: TArg = {};\n\t\t\t\tif (json) try {hArg2 = <TArg>JSON.parse(json)} catch (e) {\n\t\t\t\t\tconsole.error(`🍝 json=${json} `+ String(e));\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (x ?? x2) hArg2.x = x ?? x2;\n\t\t\t\t\tif (y ?? y2) hArg2.y = y ?? y2;\n\t\t\t\t\tif (o ?? o2) hArg2.alpha = Number(o ?? o2);\n\t\t\t\t}\n\n\t\t\t\tconst hTo2 = this.cnvTweenArg(hArg2, hNow);\n\t\t\t\tif (CmnLib.debugLog) console.info(`🍝 ${\n\t\t\t\t\tjson ?? `{x:${String(x)} y:${String(y)} o:${String(o)}}`\n\t\t\t\t} => hTo:${JSON.stringify(hTo2)}`);\n\n\t\t\t\tconst twNew = new Tween(hNow)\n\t\t\t\t.to(hTo2, time);\n\t\t\t\tthis.setTwProp(twNew, hArg);\n\t\t\t\ttwLast.chain(twNew);\n\n\t\t\t\ttwLast = twNew;\n\t\t\t}\n\t\t\tif (CmnLib.debugLog) console.groupEnd();\n\t\t}\n\t\ttwLast.onComplete(()=> {\n\t\t\tconst ti = this.#hTwInf[tw_nm];\n\t\t\tif (! ti?.tw) return;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n\t\t\tdelete this.#hTwInf[tw_nm];\n\n\t\t\tti.tw = undefined;\n\t\t\ttw.stop();\n\t\t\tti.onEnd?.();\n\n\t\t\tonComplete();\n\t\t\tReading.notifyEndProc(PID_HD_TW + tw_nm);\t// ラストに\n\t\t});\n\n\t\tconst {chain} = hArg;\n\t\tif (chain) {\t// 指定レイヤのアニメ終了に、このトゥイーンを続ける\n\t\t\tconst twFrom = this.#hTwInf[chain];\n\t\t\tif (! twFrom?.tw) throw `${chain}は存在しない・または終了したトゥイーンです`;\n\t\t\tdelete twFrom.onEnd;\n\t\t\ttwFrom.tw.chain(tw);\n\t\t}\n\t\telse if (start) tw.start();\n\n\t\treturn tw;\n\t}\n\t// 11 match 301 step (0.1ms) PCRE2 https://regex101.com/r/reinpq/1\n\t\t// List ${x}${x2}/${y}${y2}/${o}${o2}=${json}\\n\n/*\n\\(\\s*\n(?:\t(?<x>[-=\\d\\.]+)\t|\t(['\"])\t(?<x2>.*?)\t\\2\t)?\n(?:\n\t\\s*,\\s*\n\t(?:\t(?<y>[-=\\d\\.]+)\t|\t(['\"])\t(?<y2>.*?)\t\\5\t)?\n\t(?:\n\t\t\\s*,\\s*\n\t\t(?:\t(?<o>[-=\\d\\.]+)\t|\t(['\"])\t(?<o2>.*?)\t\\8\t)\n\t)?\n)?\n|\n(?<json>\\{[^{}]*})\n*/\n\tstatic\treadonly\t#REG_TSY_PATH\t= /\\(\\s*(?:(?<x>[-=\\d.]+)|(['\"])(?<x2>.*?)\\2)?(?:\\s*,\\s*(?:(?<y>[-=\\d.]+)|(['\"])(?<y2>.*?)\\5)?(?:\\s*,\\s*(?:(?<o>[-=\\d.]+)|(['\"])(?<o2>.*?)\\8))?)?|(?<json>\\{[^{}]*})/g;\n\n\t// トランス終了待ち\n\tstatic\twt(_hArg: TArg) {\n\t\tconst ti = this.#hTwInf[TW_NM_TRANS];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> this.stopEndTrans();\n\t\tReading.beginProc(TW_NM_TRANS, fnc, true, fnc);\n\t\treturn true;\n\t}\n\n\t// レイヤのトランジションの停止\n\tstatic\tstopEndTrans() {this.#hTwInf[TW_NM_TRANS]?.tw?.stop().end()}\n\t\t// stop()とend()は別\n\n\n\t// トゥイーン終了待ち\n\tstatic\twait_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tconst ti = this.#hTwInf[tw_nm];\n\t\tif (! ti?.tw) return false;\n\n\t\tconst fnc = ()=> ti.tw?.end();\t// stop()とend()は別\n\t\tReading.beginProc(PID_HD_TW + tw_nm, fnc, true, fnc);\n\t\treturn true;\n\t}\n\t\tstatic\t#tw_nm(hArg: TArg) {\n\t\t\tconst {layer='', id, name} = hArg;\n\t\t\tconst tw_nm = id ?`frm\\n${id}` :name ?? layer;\n\t\t\tif (! tw_nm) throw 'トゥイーンが指定されていません';\n\n\t\t\treturn tw_nm;\n\t\t}\n\n\t// トゥイーン中断\n\tstatic\tstop_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.stop().end();\t// stop()とend()は別\n\t\treturn false;\n\t}\n\n\t// 一時停止\n\tstatic\tpause_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.pause();\n\t\treturn false;\n\t}\n\n\t// 一時停止再開\n\tstatic\tresume_tsy(hArg: TArg) {\n\t\tconst tw_nm = this.#tw_nm(hArg);\n\t\tthis.#hTwInf[tw_nm]?.tw?.resume();\n\t\treturn false;\n\t}\n\n}\n"],"names":["TW_NM_TRANS","PID_HD_TW","CmnTween","#hTwInf","#evtMng","#appPixi","evtMng","appPixi","#fncTicker","update","tw","hArg","repeat","argChk_Num","argChk_Boolean","#hEase","k","Easing","nm","es","lay","hTo","arg","v","hdeq","vx","v0","v1","a0","removeAll","tw_nm","hNow","onUpdate","onComplete","onEnd","start","time","Tween","d","path","twLast","CmnLib","groups","#REG_TSY_PATH","x","x2","y2","o","o2","json","hArg2","e","hTo2","twNew","ti","Reading","chain","twFrom","_hArg","fnc","#tw_nm","layer","id","name"],"mappings":"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"}
|
package/dist/DebugMng.js
CHANGED
|
@@ -21,12 +21,12 @@ class t {
|
|
|
21
21
|
`), this.sys.appendFile(
|
|
22
22
|
this.sys.path_downloads + "log.txt",
|
|
23
23
|
`${e}--- ${o("-", "_", "")} [fn:${t.#s.scriptFn} line:${String(t.#s.lineNum)}] prj:${this.sys.arg.cur}
|
|
24
|
-
${a.text || `(text is ${a.text})`}
|
|
24
|
+
${a.text || `(text is ${String(a.text)})`}
|
|
25
25
|
`
|
|
26
26
|
), !1;
|
|
27
27
|
}
|
|
28
28
|
#o(a) {
|
|
29
|
-
return t.myTrace(a.text || `(text is ${a.text})`, "I"), !1;
|
|
29
|
+
return t.myTrace(a.text || `(text is ${String(a.text)})`, "I"), !1;
|
|
30
30
|
}
|
|
31
31
|
// private禁止、galleryでエラーになる
|
|
32
32
|
static trace_beforeNew = (a, e = "E") => {
|
package/dist/DebugMng.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugMng.js","sources":["../src/sn/DebugMng.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {CmnLib, getDateStr} from './CmnLib';\nimport type {TArg, TTag, T_HTag} from './Grammar';\nimport type {SysBase} from './SysBase';\nimport type {ScriptIterator} from './ScriptIterator';\n\nexport type T_TRACE = (txt: string, lvl?: 'D'|'W'|'F'|'E'|'I'|'ET')=> void;\n\n\nexport class DebugMng {\n\tstatic\t#scrItr\t: ScriptIterator;\n\tstatic\t#hTag\t: T_HTag;\n\tstatic\t#title\t: TTag;\n\tstatic\t#spnDbg\t: HTMLSpanElement;\n\n\tconstructor(private readonly sys: SysBase, hTag: T_HTag, scrItr: ScriptIterator) {\n\t\tDebugMng.#scrItr = scrItr;\n\t\tDebugMng.#hTag = hTag;\n\t\tDebugMng.#title = hTag.title;\n\t\tDebugMng.myTrace = DebugMng.#st_trace;\n\n\t\t//\tデバッグ・その他\n\t\t//hTag.clearsysvar\t// Variableで定義\t\t\t\t// システム変数の全消去\n\t\t//hTag.clearvar\t\t// Variableで定義\t\t\t\t// ゲーム変数の全消去\n\t\t//hTag.dump_lay\t\t// LayerMngで定義\t\t\t\t// レイヤのダンプ\n\t\t//hTag.dump_val\t\t// Variableで定義\t\t\t\t// 変数のダンプ\n\t\t//hTag.dump_stack\t// ScriptIteratorで定義\t\t\t// スタックのダンプ\n\t\thTag.log\t\t\t= o=> this.#log(o);\t\t\t\t// ログ出力\n\t\t//hTag.reload_script// ScriptIterator.ts内で定義\t// スクリプト再読込\n\t\thTag.trace\t\t\t= o=> this.#trace(o);\t\t\t// デバッグ表示へ出力\n\n\t\tDebugMng.#spnDbg = document.createElement('span');\n\t\tDebugMng.#spnDbg.hidden = true;\n\t\tDebugMng.#spnDbg.textContent = '';\n\t\tDebugMng.#spnDbg.style.cssText =\n\t\t`\tz-index: ${String(Number.MAX_SAFE_INTEGER)};\n\t\t\tposition: absolute; left: 0; top: 0;\n\t\t\tcolor: black;\n\t\t\tbackground-color: rgba(255, 255, 255, 0.7);`\n\t\tdocument.body.appendChild(DebugMng.#spnDbg);\n\t}\n\tdestroy() {\n\t\tDebugMng.#title = ()=> false;\n\t\tdocument.body.removeChild(DebugMng.#spnDbg);\n\n\t\tDebugMng.myTrace = DebugMng.trace_beforeNew;\n\t}\n\n\t// ログ出力\n\t#first = true;\n\t#log(hArg: TArg) {\n\t\tlet dat = '';\n\t\tif (this.#first) {\n\t\t\tthis.#first = false;\n\t\t\tdat = `== ${CmnLib.plat_desc} ==\\n`;\n\t\t}\n\t\tvoid this.sys.appendFile(\n\t\t\tthis.sys.path_downloads +'log.txt',\n\t\t\t`${dat}--- ${getDateStr('-', '_', '')\n\t\t\t} [fn:${DebugMng.#scrItr.scriptFn} line:${String(DebugMng.#scrItr.lineNum)\n\t\t\t}] prj:${this.sys.arg.cur\n\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
1
|
+
{"version":3,"file":"DebugMng.js","sources":["../src/sn/DebugMng.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {CmnLib, getDateStr} from './CmnLib';\nimport type {TArg, TTag, T_HTag} from './Grammar';\nimport type {SysBase} from './SysBase';\nimport type {ScriptIterator} from './ScriptIterator';\n\nexport type T_TRACE = (txt: string, lvl?: 'D'|'W'|'F'|'E'|'I'|'ET')=> void;\n\n\nexport class DebugMng {\n\tstatic\t#scrItr\t: ScriptIterator;\n\tstatic\t#hTag\t: T_HTag;\n\tstatic\t#title\t: TTag;\n\tstatic\t#spnDbg\t: HTMLSpanElement;\n\n\tconstructor(private readonly sys: SysBase, hTag: T_HTag, scrItr: ScriptIterator) {\n\t\tDebugMng.#scrItr = scrItr;\n\t\tDebugMng.#hTag = hTag;\n\t\tDebugMng.#title = hTag.title;\n\t\tDebugMng.myTrace = DebugMng.#st_trace;\n\n\t\t//\tデバッグ・その他\n\t\t//hTag.clearsysvar\t// Variableで定義\t\t\t\t// システム変数の全消去\n\t\t//hTag.clearvar\t\t// Variableで定義\t\t\t\t// ゲーム変数の全消去\n\t\t//hTag.dump_lay\t\t// LayerMngで定義\t\t\t\t// レイヤのダンプ\n\t\t//hTag.dump_val\t\t// Variableで定義\t\t\t\t// 変数のダンプ\n\t\t//hTag.dump_stack\t// ScriptIteratorで定義\t\t\t// スタックのダンプ\n\t\thTag.log\t\t\t= o=> this.#log(o);\t\t\t\t// ログ出力\n\t\t//hTag.reload_script// ScriptIterator.ts内で定義\t// スクリプト再読込\n\t\thTag.trace\t\t\t= o=> this.#trace(o);\t\t\t// デバッグ表示へ出力\n\n\t\tDebugMng.#spnDbg = document.createElement('span');\n\t\tDebugMng.#spnDbg.hidden = true;\n\t\tDebugMng.#spnDbg.textContent = '';\n\t\tDebugMng.#spnDbg.style.cssText =\n\t\t`\tz-index: ${String(Number.MAX_SAFE_INTEGER)};\n\t\t\tposition: absolute; left: 0; top: 0;\n\t\t\tcolor: black;\n\t\t\tbackground-color: rgba(255, 255, 255, 0.7);`\n\t\tdocument.body.appendChild(DebugMng.#spnDbg);\n\t}\n\tdestroy() {\n\t\tDebugMng.#title = ()=> false;\n\t\tdocument.body.removeChild(DebugMng.#spnDbg);\n\n\t\tDebugMng.myTrace = DebugMng.trace_beforeNew;\n\t}\n\n\t// ログ出力\n\t#first = true;\n\t#log(hArg: TArg) {\n\t\tlet dat = '';\n\t\tif (this.#first) {\n\t\t\tthis.#first = false;\n\t\t\tdat = `== ${CmnLib.plat_desc} ==\\n`;\n\t\t}\n\t\tvoid this.sys.appendFile(\n\t\t\tthis.sys.path_downloads +'log.txt',\n\t\t\t`${dat}--- ${getDateStr('-', '_', '')\n\t\t\t} [fn:${DebugMng.#scrItr.scriptFn} line:${String(DebugMng.#scrItr.lineNum)\n\t\t\t}] prj:${this.sys.arg.cur\n\t\t\t// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n\t\t\t}\\n${hArg.text || `(text is ${String(hArg.text)})`}\\n`,\n\t\t);\n\n\t\treturn false;\n\t}\n\n\t#trace(hArg: TArg) {\n\t\t// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n\t\tDebugMng.myTrace(hArg.text || `(text is ${String(hArg.text)})`, 'I');\n\n\t\treturn false;\n\t}\n\n\t// private禁止、galleryでエラーになる\n\tstatic readonly trace_beforeNew: T_TRACE = (txt, lvl = 'E')=> {\n\t\tlet mes = `{${lvl}} `+ txt;\n\t\tlet sty = '';\n\t\tswitch (lvl) {\n\t\t\tcase 'D':\tsty = `color:#${CmnLib.isDarkMode ?'49F' :'05A'};`;\tbreak;\n\t\t\tcase 'W':\tsty = 'color:#FF8800;';\tbreak;\n\t\t\tcase 'F':\tsty = 'color:#BB0000;';\tbreak;\n\t\t\tcase 'ET':\tthrow mes;\n\t\t\tcase 'E':\tconsole.error('%c'+ mes, 'color:#FF3300;');\treturn;\n\t\t\tdefault:\tsty = 'color:black;';\tmes = ' '+ mes;\n\t\t}\n\t\tconsole.info('%c'+ mes, sty);\n\t}\n\tstatic myTrace = DebugMng.trace_beforeNew;\n\tstatic strPos = ()=> DebugMng.#scrItr.lineNum > 0\n\t\t? `(fn:${DebugMng.#scrItr.scriptFn} line:${String(DebugMng.#scrItr.lineNum)}) `\n\t\t: '';\n\tstatic readonly\t#st_trace: T_TRACE = (txt, lvl = 'E')=> {\n\t\tlet mes = `{${lvl}} `+ DebugMng.strPos() + txt;\n\t\tDebugMng.#dspDbg(mes, lvl);\n\n\t\tlet sty = '';\n\t\tswitch (lvl) {\n\t\t\tcase 'D':\tsty = `color:#${CmnLib.isDarkMode ?'49F' :'05A'};`;\tbreak;\n\t\t\tcase 'W':\tsty = 'color:#F80;';\tbreak;\n\t\t\tcase 'F':\tsty = 'color:#B00;';\tbreak;\n\t\t\tcase 'ET':\n\t\t\tcase 'E':\tDebugMng.#title({text: txt});\n\t\t\t\t/*if (CmnLib.osName === \"AND\") {\n\t\t\t\t\tconst buf = \"mailto:foo@hoge.co.jp\"\n\t\t\t\t\t\t+ \"?subject=AIRNovel_ERR&body=\"\n\t\t\t\t\t\t+ CmnLib.escapeZenkaku(mes) + \"\\n\"\n\t\t\t\t\t\t+ \"※一部記号は全角表示しています。\";\n\t\t\t\t\tflash.net.navigateToURL(new URLRequest(buf));\n\t\t\t\t}*/\n\t\t\t\tthis.#hTag.dump_lay({});\n\t\t\t\tthis.#hTag.dump_val({});\n\t\t\t\tDebugMng.#scrItr.dumpErrForeLine();\n\t\t\t\tthis.#hTag.dump_stack({});\n\n\t\t\t\tif (lvl === 'ET') throw mes;\n\t\t\t\tconsole.error('%c'+ mes, 'color:#F30;');\treturn;\n\t\t\tdefault:\tsty = '';\tmes = ' '+ mes;\n\t\t}\n\t\tconsole.info('%c'+ mes, sty);\n\t}\n\n\tstatic readonly\t#dspDbg: T_TRACE = (mes, lvl)=> {\n\t\tlet sty = '';\n\t\tswitch (lvl) {\n\t\t\tcase 'D':\tsty = 'color:#05A;';\tbreak;\n\t\t\tcase 'W':\tsty = 'color:#F80;';\tbreak;\n\t\t\tcase 'F':\tsty = 'color:#B00;';\tbreak;\n\t\t\tcase 'ET':\n\t\t\tcase 'E':\tsty = 'color:#F30;';\tbreak;\n\t\t\tdefault:\tsty = '';\n\t\t}\n\t\tDebugMng.#spnDbg.innerHTML += `<span style='${sty}'>${mes}</span><br/>`;\n\t\tDebugMng.#spnDbg.hidden = false;\n\t};\n\n}\n"],"names":["DebugMng","sys","hTag","scrItr","#scrItr","#hTag","#title","#st_trace","o","#log","#trace","#spnDbg","#first","hArg","dat","CmnLib","getDateStr","txt","lvl","mes","sty","#dspDbg"],"mappings":"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"}
|
package/dist/EventMng.js
CHANGED
|
@@ -3,6 +3,9 @@ import { T as Se } from "./TxtLayer.js";
|
|
|
3
3
|
import { Button as Jt } from "./Button.js";
|
|
4
4
|
import { R as L, a as k } from "./Reading.js";
|
|
5
5
|
class De {
|
|
6
|
+
constructor(t) {
|
|
7
|
+
this.cvs = t;
|
|
8
|
+
}
|
|
6
9
|
#e = [];
|
|
7
10
|
#t = -1;
|
|
8
11
|
#r = new se();
|
|
@@ -121,7 +124,7 @@ class De {
|
|
|
121
124
|
return t.on() ? t.btn : null;
|
|
122
125
|
}
|
|
123
126
|
blur() {
|
|
124
|
-
this.#o(), this.#t = -1,
|
|
127
|
+
this.#o(), this.#t = -1, this.cvs.focus();
|
|
125
128
|
}
|
|
126
129
|
#o() {
|
|
127
130
|
for (let t = this.#e.length - 1; t >= 0; --t) {
|
|
@@ -1153,7 +1156,7 @@ try {
|
|
|
1153
1156
|
}
|
|
1154
1157
|
class Vi {
|
|
1155
1158
|
constructor(t, e, n, r, s, l, o, a, u) {
|
|
1156
|
-
if (this.cfg = t, this.hTag = e, this.appPixi = n, this.main = r, this.layMng = s, this.val = l, this.scrItr = a, this.sys = u, e.clear_event = (c) => L.clear_event(c), e.event = (c) => this.#b(c), e.set_cancel_skip = () => !1, e.set_focus = (c) => this.#w(c), o.setEvtMng(this), a.setOtherObj(this, s), Se.setEvtMng(this, u, a), s.setEvtMng(this), k.setFcs(this.#t), u.setFire((c, f) => k.fire(c, f)), it.isDbg) {
|
|
1159
|
+
if (this.cfg = t, this.hTag = e, this.appPixi = n, this.main = r, this.layMng = s, this.val = l, this.scrItr = a, this.sys = u, e.clear_event = (c) => L.clear_event(c), e.event = (c) => this.#b(c), e.set_cancel_skip = () => !1, e.set_focus = (c) => this.#w(c), this.#t = new De(n.view), o.setEvtMng(this), a.setOtherObj(this, s), Se.setEvtMng(this, u, a), s.setEvtMng(this), k.setFcs(this.#t), u.setFire((c, f) => k.fire(c, f)), it.isDbg) {
|
|
1157
1160
|
const c = {
|
|
1158
1161
|
pause: () => {
|
|
1159
1162
|
if (!k.isWait) return;
|
|
@@ -1267,7 +1270,7 @@ class Vi {
|
|
|
1267
1270
|
analog: !1,
|
|
1268
1271
|
deadZone: 0.3
|
|
1269
1272
|
});
|
|
1270
|
-
it.debugLog && (f.on("gamepad:connected", ({ detail: x }) => console.log(`👺<'gamepad:connected' index:${x.index} id:${x.gamepad.id}`)), f.on("gamepad:disconnected", ({ detail: x }) => console.log(`👺<'gamepad:disconnected' index:${x.index} id:${x.gamepad.id}`)));
|
|
1273
|
+
it.debugLog && (f.on("gamepad:connected", ({ detail: x }) => console.log(`👺<'gamepad:connected' index:${String(x.index)} id:${x.gamepad.id}`)), f.on("gamepad:disconnected", ({ detail: x }) => console.log(`👺<'gamepad:disconnected' index:${String(x.index)} id:${x.gamepad.id}`)));
|
|
1271
1274
|
const b = [
|
|
1272
1275
|
"",
|
|
1273
1276
|
"ArrowUp",
|
|
@@ -1326,7 +1329,7 @@ class Vi {
|
|
|
1326
1329
|
);
|
|
1327
1330
|
}
|
|
1328
1331
|
#e = new se();
|
|
1329
|
-
#t
|
|
1332
|
+
#t;
|
|
1330
1333
|
#r;
|
|
1331
1334
|
#a = /* @__PURE__ */ new Map([
|
|
1332
1335
|
[0, ""],
|