@famibee/skynovel 1.64.22 → 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.
- package/README.md +3 -3
- package/dist/Button.js +131 -163
- package/dist/Button.js.map +1 -1
- package/dist/CallStack.js +19 -22
- package/dist/CallStack.js.map +1 -1
- package/dist/CmnInterface.js +91 -0
- package/dist/CmnInterface.js.map +1 -0
- package/dist/CmnLib.js +94 -0
- package/dist/CmnLib.js.map +1 -0
- package/dist/Config.js +26 -0
- package/dist/Config.js.map +1 -0
- package/dist/ConfigBase.js +152 -0
- package/dist/ConfigBase.js.map +1 -0
- package/dist/DebugMng.js +89 -102
- package/dist/DebugMng.js.map +1 -1
- package/dist/EventListenerCtn.js +21 -0
- package/dist/EventListenerCtn.js.map +1 -0
- package/dist/EventMng.js +1435 -1577
- package/dist/EventMng.js.map +1 -1
- package/dist/Grammar.js +194 -0
- package/dist/Grammar.js.map +1 -0
- package/dist/GrpLayer.js +163 -195
- package/dist/GrpLayer.js.map +1 -1
- package/dist/Layer.js +260 -0
- package/dist/Layer.js.map +1 -0
- package/dist/LayerMng.js +810 -992
- package/dist/LayerMng.js.map +1 -1
- package/dist/Main.js +144 -393
- package/dist/Main.js.map +1 -1
- package/dist/PropParser.js +936 -834
- package/dist/PropParser.js.map +1 -1
- package/dist/Reading.js +918 -786
- package/dist/Reading.js.map +1 -1
- package/dist/RubySpliter.js +59 -89
- package/dist/RubySpliter.js.map +1 -1
- package/dist/ScriptIterator.js +805 -1035
- package/dist/ScriptIterator.js.map +1 -1
- package/dist/SndBuf.js +1097 -1326
- package/dist/SndBuf.js.map +1 -1
- package/dist/SoundMng.js +124 -135
- package/dist/SoundMng.js.map +1 -1
- package/dist/SpritesMng.js +220 -232
- package/dist/SpritesMng.js.map +1 -1
- package/dist/SysBase.js +1729 -0
- package/dist/SysBase.js.map +1 -0
- package/dist/TxtLayer.js +1212 -1398
- package/dist/TxtLayer.js.map +1 -1
- package/dist/Variable.js +398 -466
- package/dist/Variable.js.map +1 -1
- package/dist/chunk.js +18 -0
- package/dist/gamepad.js +723 -511
- package/dist/gamepad.js.map +1 -1
- package/dist/pixi.js +13422 -0
- package/dist/pixi.js.map +1 -0
- package/dist/platform.js +424 -369
- package/dist/platform.js.map +1 -1
- package/dist/sn/AnalyzeTagArg.d.ts +1 -1
- package/dist/sn/AnalyzeTagArg.d.ts.map +1 -1
- package/dist/sn/CmnInterface.d.ts +3 -1
- package/dist/sn/CmnInterface.d.ts.map +1 -1
- package/dist/sn/CmnLib.d.ts.map +1 -1
- package/dist/sn/CmnTween.d.ts +7 -7
- package/dist/sn/CmnTween.d.ts.map +1 -1
- package/dist/sn/EventMng.d.ts.map +1 -1
- package/dist/sn/FocusMng.d.ts.map +1 -1
- package/dist/sn/Grammar.d.ts +1 -1
- package/dist/sn/Grammar.d.ts.map +1 -1
- package/dist/sn/Log.d.ts.map +1 -1
- package/dist/sn/Main.d.ts.map +1 -1
- package/dist/sn/Pages.d.ts.map +1 -1
- package/dist/sn/PropParser.d.ts +2 -2
- package/dist/sn/PropParser.d.ts.map +1 -1
- package/dist/sn/Reading.d.ts +7 -0
- package/dist/sn/Reading.d.ts.map +1 -1
- package/dist/sn/RubySpliter.d.ts.map +1 -1
- package/dist/sn/ScriptIterator.d.ts.map +1 -1
- package/dist/sn/SndBuf.d.ts +27 -16
- package/dist/sn/SndBuf.d.ts.map +1 -1
- package/dist/sn/SoundMng.d.ts +4 -1
- package/dist/sn/SoundMng.d.ts.map +1 -1
- package/dist/sn/SysBase.d.ts.map +1 -1
- package/dist/sn/TxtStage.d.ts +4 -1
- package/dist/sn/TxtStage.d.ts.map +1 -1
- package/dist/test/ValTest.d.ts +1 -1
- package/dist/test/ValTest.d.ts.map +1 -1
- package/dist/web.js +653 -8
- package/dist/web.js.map +1 -1
- package/dist_app/Button.js +131 -163
- package/dist_app/Button.js.map +1 -1
- package/dist_app/CallStack.js +19 -22
- package/dist_app/CallStack.js.map +1 -1
- package/dist_app/CmnInterface.js +91 -0
- package/dist_app/CmnInterface.js.map +1 -0
- package/dist_app/CmnLib.js +94 -0
- package/dist_app/CmnLib.js.map +1 -0
- package/dist_app/Config.js +26 -0
- package/dist_app/Config.js.map +1 -0
- package/dist_app/ConfigBase.js +152 -0
- package/dist_app/ConfigBase.js.map +1 -0
- package/dist_app/DebugMng.js +92 -0
- package/dist_app/DebugMng.js.map +1 -0
- package/dist_app/EventListenerCtn.js +21 -0
- package/dist_app/EventListenerCtn.js.map +1 -0
- package/dist_app/EventMng.js +1435 -1577
- package/dist_app/EventMng.js.map +1 -1
- package/dist_app/Grammar.js +194 -0
- package/dist_app/Grammar.js.map +1 -0
- package/dist_app/GrpLayer.js +163 -195
- package/dist_app/GrpLayer.js.map +1 -1
- package/dist_app/Layer.js +260 -0
- package/dist_app/Layer.js.map +1 -0
- package/dist_app/LayerMng.js +810 -992
- package/dist_app/LayerMng.js.map +1 -1
- package/dist_app/Main.js +144 -392
- package/dist_app/Main.js.map +1 -1
- package/dist_app/PropParser.js +936 -834
- package/dist_app/PropParser.js.map +1 -1
- package/dist_app/Reading.js +918 -786
- package/dist_app/Reading.js.map +1 -1
- package/dist_app/RubySpliter.js +59 -89
- package/dist_app/RubySpliter.js.map +1 -1
- package/dist_app/ScriptIterator.js +805 -1034
- package/dist_app/ScriptIterator.js.map +1 -1
- package/dist_app/SndBuf.js +1097 -1326
- package/dist_app/SndBuf.js.map +1 -1
- package/dist_app/SoundMng.js +124 -135
- package/dist_app/SoundMng.js.map +1 -1
- package/dist_app/SpritesMng.js +220 -231
- package/dist_app/SpritesMng.js.map +1 -1
- package/dist_app/SysBase.js +1729 -0
- package/dist_app/SysBase.js.map +1 -0
- package/dist_app/TxtLayer.js +1212 -1397
- package/dist_app/TxtLayer.js.map +1 -1
- package/dist_app/Variable.js +398 -466
- package/dist_app/Variable.js.map +1 -1
- package/dist_app/app.js +211 -8
- package/dist_app/app.js.map +1 -1
- package/dist_app/appMain.js +20 -21
- package/dist_app/appMain.js.map +1 -1
- package/dist_app/chunk.js +18 -0
- package/dist_app/gamepad.js +723 -511
- package/dist_app/gamepad.js.map +1 -1
- package/dist_app/pixi.js +11181 -0
- package/dist_app/pixi.js.map +1 -0
- package/dist_app/platform.js +424 -369
- package/dist_app/platform.js.map +1 -1
- package/dist_app/preload.js +2 -2
- package/dist_app/preload.js.map +1 -1
- package/dist_app/sn/AnalyzeTagArg.d.ts +1 -1
- package/dist_app/sn/AnalyzeTagArg.d.ts.map +1 -1
- package/dist_app/sn/CmnInterface.d.ts +3 -1
- package/dist_app/sn/CmnInterface.d.ts.map +1 -1
- package/dist_app/sn/CmnLib.d.ts.map +1 -1
- package/dist_app/sn/CmnTween.d.ts +7 -7
- 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.map +1 -1
- package/dist_app/sn/Grammar.d.ts +1 -1
- package/dist_app/sn/Grammar.d.ts.map +1 -1
- package/dist_app/sn/Log.d.ts.map +1 -1
- package/dist_app/sn/Main.d.ts.map +1 -1
- package/dist_app/sn/Pages.d.ts.map +1 -1
- package/dist_app/sn/PropParser.d.ts +2 -2
- package/dist_app/sn/PropParser.d.ts.map +1 -1
- package/dist_app/sn/Reading.d.ts +7 -0
- package/dist_app/sn/Reading.d.ts.map +1 -1
- package/dist_app/sn/RubySpliter.d.ts.map +1 -1
- package/dist_app/sn/ScriptIterator.d.ts.map +1 -1
- package/dist_app/sn/SndBuf.d.ts +27 -16
- package/dist_app/sn/SndBuf.d.ts.map +1 -1
- package/dist_app/sn/SoundMng.d.ts +4 -1
- package/dist_app/sn/SoundMng.d.ts.map +1 -1
- package/dist_app/sn/SysBase.d.ts.map +1 -1
- package/dist_app/sn/TxtStage.d.ts +4 -1
- package/dist_app/sn/TxtStage.d.ts.map +1 -1
- package/dist_app/test/ValTest.d.ts +1 -1
- package/dist_app/test/ValTest.d.ts.map +1 -1
- package/package.json +24 -14
- package/dist/CmnTween.js +0 -193
- package/dist/CmnTween.js.map +0 -1
- package/dist/web2.js +0 -21644
- package/dist/web2.js.map +0 -1
- package/dist_app/CmnTween.js +0 -193
- package/dist_app/CmnTween.js.map +0 -1
- package/dist_app/app2.js +0 -18547
- package/dist_app/app2.js.map +0 -1
package/dist_app/CmnTween.js
DELETED
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
import { k as E, e as P, a as T } from "./app2.js";
|
|
2
|
-
import { u as L, E as n, b as N, T as k, a as x } from "./Reading.js";
|
|
3
|
-
const S = `trans
|
|
4
|
-
`, B = "tsy nm:";
|
|
5
|
-
class $ {
|
|
6
|
-
static #t = {};
|
|
7
|
-
static #s;
|
|
8
|
-
static #i;
|
|
9
|
-
static init(t, i) {
|
|
10
|
-
this.#t = {}, this.#s = t, this.#i = i, this.#i.ticker.add(this.#a);
|
|
11
|
-
}
|
|
12
|
-
static #a = () => L();
|
|
13
|
-
static destroy() {
|
|
14
|
-
this.stopAllTw(), this.#i.ticker.remove(this.#a);
|
|
15
|
-
}
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
|
-
static setTwProp(t, i) {
|
|
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
|
-
}
|
|
21
|
-
static #e = {
|
|
22
|
-
"Back.In": (t) => n.Back.In(t),
|
|
23
|
-
"Back.InOut": (t) => n.Back.InOut(t),
|
|
24
|
-
"Back.Out": (t) => n.Back.Out(t),
|
|
25
|
-
"Bounce.In": (t) => n.Bounce.In(t),
|
|
26
|
-
"Bounce.InOut": (t) => n.Bounce.InOut(t),
|
|
27
|
-
"Bounce.Out": (t) => n.Bounce.Out(t),
|
|
28
|
-
"Circular.In": (t) => n.Circular.In(t),
|
|
29
|
-
"Circular.InOut": (t) => n.Circular.InOut(t),
|
|
30
|
-
"Circular.Out": (t) => n.Circular.Out(t),
|
|
31
|
-
"Cubic.In": (t) => n.Cubic.In(t),
|
|
32
|
-
"Cubic.InOut": (t) => n.Cubic.InOut(t),
|
|
33
|
-
"Cubic.Out": (t) => n.Cubic.Out(t),
|
|
34
|
-
"Elastic.In": (t) => n.Elastic.In(t),
|
|
35
|
-
"Elastic.InOut": (t) => n.Elastic.InOut(t),
|
|
36
|
-
"Elastic.Out": (t) => n.Elastic.Out(t),
|
|
37
|
-
"Exponential.In": (t) => n.Exponential.In(t),
|
|
38
|
-
"Exponential.InOut": (t) => n.Exponential.InOut(t),
|
|
39
|
-
"Exponential.Out": (t) => n.Exponential.Out(t),
|
|
40
|
-
"Linear.None": (t) => n.Linear.None(t),
|
|
41
|
-
"Quadratic.In": (t) => n.Quadratic.In(t),
|
|
42
|
-
"Quadratic.InOut": (t) => n.Quadratic.InOut(t),
|
|
43
|
-
"Quadratic.Out": (t) => n.Quadratic.Out(t),
|
|
44
|
-
"Quartic.In": (t) => n.Quartic.In(t),
|
|
45
|
-
"Quartic.InOut": (t) => n.Quartic.InOut(t),
|
|
46
|
-
"Quartic.Out": (t) => n.Quartic.Out(t),
|
|
47
|
-
"Quintic.In": (t) => n.Quintic.In(t),
|
|
48
|
-
"Quintic.InOut": (t) => n.Quintic.InOut(t),
|
|
49
|
-
"Quintic.Out": (t) => n.Quintic.Out(t),
|
|
50
|
-
"Sinusoidal.In": (t) => n.Sinusoidal.In(t),
|
|
51
|
-
"Sinusoidal.InOut": (t) => n.Sinusoidal.InOut(t),
|
|
52
|
-
"Sinusoidal.Out": (t) => n.Sinusoidal.Out(t)
|
|
53
|
-
};
|
|
54
|
-
static ease(t) {
|
|
55
|
-
if (!t) return (s) => n.Linear.None(s);
|
|
56
|
-
const i = this.#e[t];
|
|
57
|
-
if (!i) throw "異常なease指定です";
|
|
58
|
-
return i;
|
|
59
|
-
}
|
|
60
|
-
static aLayerPrpNm = [
|
|
61
|
-
"alpha",
|
|
62
|
-
"height",
|
|
63
|
-
"rotation",
|
|
64
|
-
// rotationX〜Z、scaleZ、zは設定すると
|
|
65
|
-
"scale_x",
|
|
66
|
-
// 三次元方向の拡大縮小ルーチンが働き画像がぼやけるので
|
|
67
|
-
"scale_y",
|
|
68
|
-
// backlayで設定しない方針
|
|
69
|
-
"pivot_x",
|
|
70
|
-
"pivot_y",
|
|
71
|
-
"width",
|
|
72
|
-
"x",
|
|
73
|
-
"y"
|
|
74
|
-
];
|
|
75
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
76
|
-
static cnvTweenArg(t, i) {
|
|
77
|
-
const s = {};
|
|
78
|
-
for (const a of $.aLayerPrpNm) {
|
|
79
|
-
const c = t[a];
|
|
80
|
-
if (!c) continue;
|
|
81
|
-
const r = String(c), p = r.startsWith("="), h = p ? r.slice(1) : r;
|
|
82
|
-
if (!h) continue;
|
|
83
|
-
const [d = "0", o] = h.split(","), u = s[a] = parseFloat(d);
|
|
84
|
-
o && (s[a] += Math.round(
|
|
85
|
-
Math.random() * (parseFloat(o) - u + 1)
|
|
86
|
-
)), p && (s[a] += parseFloat(i[a]));
|
|
87
|
-
}
|
|
88
|
-
return s;
|
|
89
|
-
}
|
|
90
|
-
// トゥイーン全停止
|
|
91
|
-
static stopAllTw() {
|
|
92
|
-
this.#t = {}, N();
|
|
93
|
-
}
|
|
94
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
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 k(s).to(a, d).onUpdate((e) => c(e));
|
|
97
|
-
this.setTwProp(o, i), this.#t[t] = { tw: o, onEnd: p };
|
|
98
|
-
const { path: u } = i;
|
|
99
|
-
let f = o;
|
|
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
|
-
let l = {};
|
|
105
|
-
if (I) try {
|
|
106
|
-
l = JSON.parse(I);
|
|
107
|
-
} catch (v) {
|
|
108
|
-
console.error(`🍝 json=${I} ` + String(v));
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
else
|
|
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 k(s).to(b, d);
|
|
116
|
-
this.setTwProp(m, i), f.chain(m), f = m;
|
|
117
|
-
}
|
|
118
|
-
T.debugLog && console.groupEnd();
|
|
119
|
-
}
|
|
120
|
-
f.onComplete(() => {
|
|
121
|
-
const e = this.#t[t];
|
|
122
|
-
e?.tw && (delete this.#t[t], e.tw = void 0, o.stop(), e.onEnd?.(), r(), x.notifyEndProc(B + t));
|
|
123
|
-
});
|
|
124
|
-
const { chain: O } = i;
|
|
125
|
-
if (O) {
|
|
126
|
-
const e = this.#t[O];
|
|
127
|
-
if (!e?.tw) throw `${O}は存在しない・または終了したトゥイーンです`;
|
|
128
|
-
delete e.onEnd, e.tw.chain(o);
|
|
129
|
-
} else h && o.start();
|
|
130
|
-
return o;
|
|
131
|
-
}
|
|
132
|
-
// 11 match 301 step (0.1ms) PCRE2 https://regex101.com/r/reinpq/1
|
|
133
|
-
// List ${x}${x2}/${y}${y2}/${o}${o2}=${json}\n
|
|
134
|
-
/*
|
|
135
|
-
\(\s*
|
|
136
|
-
(?: (?<x>[-=\d\.]+) | (['"]) (?<x2>.*?) \2 )?
|
|
137
|
-
(?:
|
|
138
|
-
\s*,\s*
|
|
139
|
-
(?: (?<y>[-=\d\.]+) | (['"]) (?<y2>.*?) \5 )?
|
|
140
|
-
(?:
|
|
141
|
-
\s*,\s*
|
|
142
|
-
(?: (?<o>[-=\d\.]+) | (['"]) (?<o2>.*?) \8 )
|
|
143
|
-
)?
|
|
144
|
-
)?
|
|
145
|
-
|
|
|
146
|
-
(?<json>\{[^{}]*})
|
|
147
|
-
*/
|
|
148
|
-
static #o = /\(\s*(?:(?<x>[-=\d.]+)|(['"])(?<x2>.*?)\2)?(?:\s*,\s*(?:(?<y>[-=\d.]+)|(['"])(?<y2>.*?)\5)?(?:\s*,\s*(?:(?<o>[-=\d.]+)|(['"])(?<o2>.*?)\8))?)?|(?<json>\{[^{}]*})/g;
|
|
149
|
-
// トランス終了待ち
|
|
150
|
-
static wt(t) {
|
|
151
|
-
if (!this.#t[S]?.tw) return !1;
|
|
152
|
-
const s = () => this.stopEndTrans();
|
|
153
|
-
return x.beginProc(S, s, !0, s), !0;
|
|
154
|
-
}
|
|
155
|
-
// レイヤのトランジションの停止
|
|
156
|
-
static stopEndTrans() {
|
|
157
|
-
this.#t[S]?.tw?.stop().end();
|
|
158
|
-
}
|
|
159
|
-
// stop()とend()は別
|
|
160
|
-
// トゥイーン終了待ち
|
|
161
|
-
static wait_tsy(t) {
|
|
162
|
-
const i = this.#n(t), s = this.#t[i];
|
|
163
|
-
if (!s?.tw) return !1;
|
|
164
|
-
const a = () => s.tw?.end();
|
|
165
|
-
return x.beginProc(B + i, a, !0, a), !0;
|
|
166
|
-
}
|
|
167
|
-
static #n(t) {
|
|
168
|
-
const { layer: i = "", id: s, name: a } = t, c = s ? `frm
|
|
169
|
-
${s}` : a ?? i;
|
|
170
|
-
if (!c) throw "トゥイーンが指定されていません";
|
|
171
|
-
return c;
|
|
172
|
-
}
|
|
173
|
-
// トゥイーン中断
|
|
174
|
-
static stop_tsy(t) {
|
|
175
|
-
const i = this.#n(t);
|
|
176
|
-
return this.#t[i]?.tw?.stop().end(), !1;
|
|
177
|
-
}
|
|
178
|
-
// 一時停止
|
|
179
|
-
static pause_tsy(t) {
|
|
180
|
-
const i = this.#n(t);
|
|
181
|
-
return this.#t[i]?.tw?.pause(), !1;
|
|
182
|
-
}
|
|
183
|
-
// 一時停止再開
|
|
184
|
-
static resume_tsy(t) {
|
|
185
|
-
const i = this.#n(t);
|
|
186
|
-
return this.#t[i]?.tw?.resume(), !1;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
export {
|
|
190
|
-
$ as C,
|
|
191
|
-
S as T
|
|
192
|
-
};
|
|
193
|
-
//# sourceMappingURL=CmnTween.js.map
|
package/dist_app/CmnTween.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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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"}
|