@futdevpro/fsm-dynamo 1.16.34 → 1.16.36
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/build/_models/control-models/data-model-params.control-model.d.ts +7 -0
- package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +9 -0
- package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
- package/build/_modules/game/_models/audio-mixer-config.interface.d.ts +7 -0
- package/build/_modules/game/_models/audio-mixer-config.interface.d.ts.map +1 -1
- package/build/_modules/game/_models/audio-mixer-settings.interface.d.ts +9 -0
- package/build/_modules/game/_models/audio-mixer-settings.interface.d.ts.map +1 -1
- package/build/_modules/game/_models/audio-mixer-state.interface.d.ts +12 -0
- package/build/_modules/game/_models/audio-mixer-state.interface.d.ts.map +1 -1
- package/build/_modules/game/_models/audio-mixer.control-model.d.ts +7 -0
- package/build/_modules/game/_models/audio-mixer.control-model.d.ts.map +1 -1
- package/build/_modules/game/_models/audio-mixer.control-model.js +32 -2
- package/build/_modules/game/_models/audio-mixer.control-model.js.map +1 -1
- package/package.json +1 -1
- package/src/_models/control-models/data-model-params.control-model.spec.ts +23 -0
- package/src/_models/control-models/data-model-params.control-model.ts +12 -2
- package/src/_modules/game/_models/audio-mixer-config.interface.ts +8 -0
- package/src/_modules/game/_models/audio-mixer-settings.interface.ts +10 -0
- package/src/_modules/game/_models/audio-mixer-state.interface.ts +13 -0
- package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +70 -0
- package/src/_modules/game/_models/audio-mixer.control-model.ts +43 -2
|
@@ -71,6 +71,13 @@ export declare class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM
|
|
|
71
71
|
readonly stackLocation?: string;
|
|
72
72
|
constructor(set: DyFM_DataModel_Settings<T>);
|
|
73
73
|
constructed?(): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* BFR-ORGANIZER-001/002 kísérő (generikus): egy property deklarált default-értéke
|
|
76
|
+
* (`properties[key].default`) — hogy a defaultok EGYETLEN forrásból (a dataParams-ból)
|
|
77
|
+
* jöjjenek a fogyasztó create-útjain is (pl. `params.priority ?? dataParams.getDefaultValue('priority')`),
|
|
78
|
+
* ne duplikálódjanak literálként a service-kódban. `undefined`, ha nincs deklarált default.
|
|
79
|
+
*/
|
|
80
|
+
getDefaultValue?<K extends keyof T>(key: K): T[K] | undefined;
|
|
74
81
|
setKeysForSubObjectParams?(property: DyFM_DataProperty_Params<any, T>): void;
|
|
75
82
|
}
|
|
76
83
|
//# sourceMappingURL=data-model-params.control-model.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGrG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAID,qBAAa,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IACjF;;OAEG;IACH,QAAQ,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAEnC;;;OAGG;IACH,UAAU,EAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACrC;AAcD,qBAAa,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAG5F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiNjC,WAAW,CAAC,IAAI,OAAO;IAIvB,yBAAyB,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI;CA0B7E"}
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.d.ts","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGrG;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,sBAAsB;IACrC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAG,MAAM,GAAG,SAAS,CAQtG;AAID,qBAAa,uBAAuB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,aAAa;IACjF;;OAEG;IACH,QAAQ,EAAG,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAEnC;;;OAGG;IACH,UAAU,EAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACrC;AAcD,qBAAa,qBAAqB,CAAC,CAAC,SAAS,aAAa,CAAE,SAAQ,uBAAuB,CAAC,CAAC,CAAC;IAG5F,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;gBAG9B,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAiNjC,WAAW,CAAC,IAAI,OAAO;IAIvB;;;;;OAKG;IACH,eAAe,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IAI7D,yBAAyB,CAAC,CAAC,QAAQ,EAAE,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI;CA0B7E"}
|
|
@@ -247,6 +247,15 @@ class DyFM_DataModel_Params extends DyFM_DataModel_Settings {
|
|
|
247
247
|
constructed() {
|
|
248
248
|
return true;
|
|
249
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* BFR-ORGANIZER-001/002 kísérő (generikus): egy property deklarált default-értéke
|
|
252
|
+
* (`properties[key].default`) — hogy a defaultok EGYETLEN forrásból (a dataParams-ból)
|
|
253
|
+
* jöjjenek a fogyasztó create-útjain is (pl. `params.priority ?? dataParams.getDefaultValue('priority')`),
|
|
254
|
+
* ne duplikálódjanak literálként a service-kódban. `undefined`, ha nincs deklarált default.
|
|
255
|
+
*/
|
|
256
|
+
getDefaultValue(key) {
|
|
257
|
+
return this.properties?.[key]?.default;
|
|
258
|
+
}
|
|
250
259
|
setKeysForSubObjectParams(property) {
|
|
251
260
|
if (property.subObjectParams) {
|
|
252
261
|
Object.keys(property.subObjectParams).forEach((key) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-model-params.control-model.js","sourceRoot":"","sources":["../../../src/_models/control-models/data-model-params.control-model.ts"],"names":[],"mappings":";;;AA2CA,0EAQC;AAnDD,gEAA6D;AAC7D,sEAAmE;AACnE,oEAAwF;AACxF,4EAAoF;AACpF,oFAAgF;AAChF,4EAAwE;AACxE,4EAAmE;AACnE,6FAAqG;AACrG,+DAAmD;AA8BnD;;;;GAIG;AACH,SAAgB,+BAA+B,CAAC,SAAkC;IAChF,IAAI,CAAC,SAAS,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACrC,MAAM,GAAG,GACP,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU;QACvD,CAAC,CAAC,SAAS,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,GAAG,KAAK;YACvE,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;IACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;wFACwF;AACxF,MAAa,uBAAiD,SAAQ,mCAAa;IACjF;;OAEG;IACH,QAAQ,CAAU;IAClB,SAAS,CAAuB;IAEhC,UAAU,CAAW;IAErB;;;;OAIG;IACH,YAAY,CAAW;IAEvB;;;;OAIG;IACH,YAAY,CAAW;IAEvB;;;;;;OAMG;IACH,SAAS,CAA0B;IAEnC;;;OAGG;IACH,UAAU,CAA0B;CACrC;AArCD,0DAqCC;AAED;;;;;;;;;;;GAWG;AACH,MAAa,qBAA+C,SAAQ,uBAA0B;IAE5F,mDAAmD;IAC1C,aAAa,CAAU;IAEhC,YACE,GAA+B;QAE/B,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,aAAa,GAAG,IAAA,8CAAiC,GAAE,CAAC;YAEzD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC5D,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;oBACrC,8BAA8B,IAAI,CAAC,QAAQ,UAAU;oBACrD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBAEF,IAAI,CAAC,UAAU,GAAG,EAA4B,CAAC;YACjD,CAAC;YAED,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBACjC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;wBACrC,iCAAiC,IAAI,CAAC,QAAQ,UAAU;wBACxD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,cAAc,GAAqC,IAAI,6DAAwB,CAAC;oBACpF,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;oBACvB,GAAG,EAAE,GAAG;iBACT,EAAE,IAAI,CAAC,CAAC;gBACT,MAAM,SAAS,GAA4B,IAAA,0CAAyB,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC1F,IAAI,SAAS,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC;oBACtC,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;oBAClD,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC;gBAClC,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC;gBAEtC,IAAI,cAAc,CAAC,eAAe,EAAE,CAAC;oBACnC,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBACjC,MAAM,QAAQ,GAAqC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxE;;;;;;;;;oBASI;gBAEJ,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC5B,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAe,EAAQ,EAAE;wBACxD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;4BAC9B,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,OAAO,oBAAoB;gCACxD,IAAI,IAAI,CAAC,QAAQ,UAAU;gCAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;wBACJ,CAAC;wBAED;;;;;;4BAMI;wBAEJ;;;;;;;;4BAQI;oBACN,CAAC,CAAC,CAAC;oBAEH,mEAAmE;oBAEnE,IAAI,QAAQ,CAAC,IAAI,KAAK,kDAAuB,CAAC,KAAK,EAAE,CAAC;wBACpD,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,QAAQ,CAAC,cAAc,kCAAkC;4BACtF,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,QAAQ,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;wBACzC,mBAAQ,CAAC,KAAK,CACZ,6BAA6B,QAAQ,CAAC,cAAc,kCAAkC;4BACtF,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;wBAChC,mBAAQ,CAAC,KAAK,CACZ,0DAA0D;4BAC1D,IAAI,IAAI,CAAC,QAAQ,UAAU;4BAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACnB,yDAAyD;wBACzD,mBAAQ,CAAC,IAAI,CACX,kEAAkE;4BAClE,IAAI,IAAI,CAAC,QAAQ,WAAW;4BAC5B,2DAA2D;4BAC3D,2DAA2D;4BAC3D,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;oBACJ,CAAC;oBAED;;;;;;;;;;;;;;wBAcI;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,EAAE,SAAS,IAAI,0CAAmB,CAAC,IAAI,EAAE,CAAC;gBACpE,IAAI,CAAC,SAAS,GAAG,0CAAmB,CAAC,IAAI,CAAC;YAC5C,CAAC;YAED;;;;;;;;;;;;;;;gBAeI;YAEJ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,mBAAQ,CAAC,KAAK,CACZ,qCAAqC;oBACrC,2BAA2B,IAAI,CAAC,QAAQ,UAAU;oBAClD,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAClC,CAAC;YAED,+FAA+F;YAC/F;;;;;;;gBAOI;YAEJ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,mBAAQ,CAAC,IAAI,CACX,qCAAqC;oBACrC,wCAAwC,IAAI,CAAC,QAAQ,UAAU;oBAC/D,2BAA2B;oBAC3B,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;YACJ,CAAC;YAED,yBAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,gCAAU,CAAC,SAAS,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YACxE,mBAAQ,CAAC,IAAI,CACX,oGAAoG;gBACpG,KAAK,IAAI,CAAC,QAAQ,UAAU;gBAC5B,oBAAoB,IAAI,CAAC,aAAa,EAAE,CACzC,CAAC;YACF;;;;iBAIK;QACP,CAAC;IACH,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAqB,GAAM;QACxC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACzC,CAAC;IAED,yBAAyB,CAAE,QAA0C;QACnE,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,GAAW,EAAQ,EAAE;gBAClE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,mBAAQ,CAAC,KAAK,CACZ,mDAAmD;wBACnD,wCAAwC,IAAI,CAAC,QAAQ,UAAU;wBAC/D,oBAAoB,IAAI,CAAC,aAAa,IAAI,CAC3C,CAAC;gBACJ,CAAC;gBAED,MAAM,uBAAuB,GAAqC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;gBAEhG,uBAAuB,CAAC,GAAG,GAAG,GAAG,CAAC;gBAClC,MAAM,SAAS,GAA4B,IAAA,0CAAyB,EAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACnG,IAAI,SAAS,KAAK,uBAAuB,CAAC,IAAI,EAAE,CAAC;oBAC/C,uBAAuB,CAAC,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC;oBACpE,uBAAuB,CAAC,IAAI,GAAG,SAAS,CAAC;gBAC3C,CAAC;gBAED,IAAI,uBAAuB,CAAC,eAAe,EAAE,CAAC;oBAC5C,IAAI,CAAC,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;gBAC1D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA/PD,sDA+PC"}
|
|
@@ -33,5 +33,12 @@ export interface DyFM_AudioMixer_Config {
|
|
|
33
33
|
defaultMaster?: number;
|
|
34
34
|
/** Alapertelmezes a `defaults`-ban fel nem sorolt csatornakra (**sajat skala**). Default: a maximum 80%-a. */
|
|
35
35
|
defaultChannelVolume?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Szoljon-e a hang alapbol akkor is, ha a tab/ablak nem aktiv. **Default: `false`**
|
|
38
|
+
* (owner-direktiva — a hatter-hang opt-in, sosem opt-out).
|
|
39
|
+
*
|
|
40
|
+
* Csak nagyon indokolt esetben allitsd `true`-ra (pl. tisztan audio-jatek).
|
|
41
|
+
*/
|
|
42
|
+
defaultPlayWhenUnfocused?: boolean;
|
|
36
43
|
}
|
|
37
44
|
//# sourceMappingURL=audio-mixer-config.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-mixer-config.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-config.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,sBAAsB;IAErC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAC;IAEvB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8GAA8G;IAC9G,oBAAoB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"audio-mixer-config.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-config.interface.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,WAAW,sBAAsB;IAErC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,2EAA2E;IAC3E,KAAK,EAAE,eAAe,CAAC;IAEvB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAElC,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,8GAA8G;IAC9G,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC"}
|
|
@@ -19,5 +19,14 @@ export interface DyFM_AudioMixer_Settings {
|
|
|
19
19
|
effects: number;
|
|
20
20
|
/** Globalis nemitas — ha true, minden effektiv hangero 0. */
|
|
21
21
|
muted: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Szoljon-e a hang, ha a tab/ablak nem aktiv. **Default: `false`.**
|
|
24
|
+
*
|
|
25
|
+
* **OPCIONALIS** — szandekosan, hogy a mezo bevezetese ne legyen torо valtozas a round-1
|
|
26
|
+
* alakot mar hasznalo projekteknek. A letezese viszont azt biztositja, hogy a klasszikus
|
|
27
|
+
* oda-vissza konverzio (`toClassicSettings` -> `fromClassicSettings`) NE veszitse el a
|
|
28
|
+
* kapcsolot.
|
|
29
|
+
*/
|
|
30
|
+
playWhenUnfocused?: boolean;
|
|
22
31
|
}
|
|
23
32
|
//# sourceMappingURL=audio-mixer-settings.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-mixer-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-settings.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAEhB,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"audio-mixer-settings.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-settings.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,wBAAwB;IACvC,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IAEf,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IAEd,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IAEjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAEhB,6DAA6D;IAC7D,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -15,5 +15,17 @@ export interface DyFM_AudioMixer_State {
|
|
|
15
15
|
channels: Record<string, number>;
|
|
16
16
|
/** Globalis nemitas — ha `true`, minden effektiv hangero 0. */
|
|
17
17
|
muted: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Szoljon-e a hang akkor is, ha a **tab / ablak NEM aktiv** (hattervben van).
|
|
20
|
+
*
|
|
21
|
+
* **Alapertelmezes: `false`** — owner-direktiva. Egy hattervbe tett jatek alapbol NE szoljon
|
|
22
|
+
* bele a felhasznalo mas munkajaba; aki ezt akarja, az kapcsolja be. Ez a mezo CSAK a
|
|
23
|
+
* szandekot hordozza — a tenyleges szuneteltetest a lejatszo-reteg vegzi (bongeszo-fuggo
|
|
24
|
+
* `visibilitychange` / `blur`), mert a modell-reteg szandekosan DOM-fuggetlen.
|
|
25
|
+
*
|
|
26
|
+
* **Migracio:** a mezo nelkuli (regi) mentesek a `merge()`-ben a config alapertelmezeset
|
|
27
|
+
* kapjak, tehat egy regi save betoltese nem kapcsolja be veletlenul a hatter-hangot.
|
|
28
|
+
*/
|
|
29
|
+
playWhenUnfocused: boolean;
|
|
18
30
|
}
|
|
19
31
|
//# sourceMappingURL=audio-mixer-state.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-mixer-state.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-state.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IAEpC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"audio-mixer-state.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer-state.interface.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IAEpC,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IAEf,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,+DAA+D;IAC/D,KAAK,EAAE,OAAO,CAAC;IAEf;;;;;;;;;;OAUG;IACH,iBAAiB,EAAE,OAAO,CAAC;CAC5B"}
|
|
@@ -113,6 +113,13 @@ export declare class DyFM_AudioMixer_ControlModel {
|
|
|
113
113
|
withMasterVolume(state: DyFM_AudioMixer_State, volume: number): DyFM_AudioMixer_State;
|
|
114
114
|
/** Nemitas beallitasa — UJ allapot-objektumot ad vissza. */
|
|
115
115
|
withMuted(state: DyFM_AudioMixer_State, muted: boolean): DyFM_AudioMixer_State;
|
|
116
|
+
/**
|
|
117
|
+
* A "szoljon-e hattervben" kapcsolo beallitasa — UJ allapot-objektumot ad vissza.
|
|
118
|
+
*
|
|
119
|
+
* A modell csak a SZANDEKOT tarolja; a tenyleges szuneteltetes a lejatszo-reteg dolga
|
|
120
|
+
* (`visibilitychange` / `blur`), mert ez a reteg DOM-fuggetlen.
|
|
121
|
+
*/
|
|
122
|
+
withPlayWhenUnfocused(state: DyFM_AudioMixer_State, playWhenUnfocused: boolean): DyFM_AudioMixer_State;
|
|
116
123
|
/** Ket allapot ertek szerinti egyezese (mentes-szukseg / change-detection dontesehez). */
|
|
117
124
|
isEqual(a: DyFM_AudioMixer_State, b: DyFM_AudioMixer_State): boolean;
|
|
118
125
|
/** A master alapertelmezese a sajat skalan (config, kulonben a maximum 80%-a). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-mixer.control-model.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,4BAA4B;IAEvC,8FAA8F;IAC9F,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAY;IAEjD,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAEhD;;;OAGG;gBACS,MAAM,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"audio-mixer.control-model.d.ts","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer.control-model.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,4BAA4B;IAEvC,8FAA8F;IAC9F,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAY;IAEjD,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAEhD;;;OAGG;gBACS,MAAM,EAAE,sBAAsB;IAqD1C;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,4BAA4B;IASpD;;;OAGG;IACH,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,MAAM,EAAE,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,aAAa,CAAC,EAAE,MAAM,GACrB,4BAA4B;IAS/B,gFAAgF;IAChF,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,qBAAqB;IAiBrF;;;;;;;;;OASG;IACH,iBAAiB,CAAC,KAAK,EAAE,qBAAqB,GAAG,wBAAwB;IAsBzE,2EAA2E;IAC3E,SAAS,IAAI,sBAAsB;IAUnC,sDAAsD;IACtD,WAAW,IAAI,MAAM,EAAE;IAIvB,2EAA2E;IAC3E,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIpC;;;OAGG;IACH,WAAW,IAAI,qBAAqB;IAepC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI,GAAG,qBAAqB;IAqC7E;;;;;;;;;OASG;IACH,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA0BzE;;;OAGG;IACH,iBAAiB,CACf,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,qBAAqB;IAexB,gFAAgF;IAChF,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;IAOrF,4DAA4D;IAC5D,SAAS,CAAC,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,GAAG,qBAAqB;IAO9E;;;;;OAKG;IACH,qBAAqB,CACnB,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,EAAE,OAAO,GACzB,qBAAqB;IAOxB,0FAA0F;IAC1F,OAAO,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,qBAAqB,GAAG,OAAO;IAqBpE,kFAAkF;IAClF,OAAO,CAAC,gBAAgB;IAQxB,gGAAgG;IAChG,OAAO,CAAC,uBAAuB;CAchC"}
|
|
@@ -88,6 +88,7 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
88
88
|
defaults: config.defaults ? { ...config.defaults } : {},
|
|
89
89
|
defaultMaster: config.defaultMaster,
|
|
90
90
|
defaultChannelVolume: config.defaultChannelVolume,
|
|
91
|
+
defaultPlayWhenUnfocused: config.defaultPlayWhenUnfocused === true,
|
|
91
92
|
};
|
|
92
93
|
}
|
|
93
94
|
/**
|
|
@@ -126,6 +127,8 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
126
127
|
effects: audio_scale_util_1.DyFM_AudioScale_Util.toUnit(safe.effects, scale),
|
|
127
128
|
},
|
|
128
129
|
muted: safe.muted === true,
|
|
130
|
+
// Statikus metodus -> nincs peldany-config, ezert a GLOBALIS default (`false`) ervenyes.
|
|
131
|
+
playWhenUnfocused: safe.playWhenUnfocused === true,
|
|
129
132
|
};
|
|
130
133
|
}
|
|
131
134
|
/**
|
|
@@ -141,13 +144,20 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
141
144
|
toClassicSettings(state) {
|
|
142
145
|
const safe = this.merge(state);
|
|
143
146
|
const scale = this.config.scale;
|
|
144
|
-
|
|
147
|
+
const classic = {
|
|
145
148
|
master: audio_scale_util_1.DyFM_AudioScale_Util.toUnit(safe.master, scale),
|
|
146
149
|
music: audio_scale_util_1.DyFM_AudioScale_Util.toUnit(safe.channels['music'], scale),
|
|
147
150
|
ambience: audio_scale_util_1.DyFM_AudioScale_Util.toUnit(safe.channels['ambience'], scale),
|
|
148
151
|
effects: audio_scale_util_1.DyFM_AudioScale_Util.toUnit(safe.channels['effects'], scale),
|
|
149
152
|
muted: safe.muted === true,
|
|
150
153
|
};
|
|
154
|
+
// A kapcsolot CSAK bekapcsolt allapotban irjuk ki. Igy a round-1 alakot mar hasznalo
|
|
155
|
+
// projektek payloadja valtozatlan marad (nem jelenik meg benne egy uj `false` mezo),
|
|
156
|
+
// a bekapcsolt allapot viszont tulel egy oda-vissza konverziot.
|
|
157
|
+
if (safe.playWhenUnfocused) {
|
|
158
|
+
classic.playWhenUnfocused = true;
|
|
159
|
+
}
|
|
160
|
+
return classic;
|
|
151
161
|
}
|
|
152
162
|
/** A peldany configja (masolat — a mutalasa nem hat vissza a modellre). */
|
|
153
163
|
getConfig() {
|
|
@@ -180,6 +190,7 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
180
190
|
master: this.getDefaultMaster(),
|
|
181
191
|
channels: channels,
|
|
182
192
|
muted: false,
|
|
193
|
+
playWhenUnfocused: this.config.defaultPlayWhenUnfocused === true,
|
|
183
194
|
};
|
|
184
195
|
}
|
|
185
196
|
/**
|
|
@@ -211,10 +222,16 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
211
222
|
const master = partial.master === undefined || partial.master === null
|
|
212
223
|
? defaults.master
|
|
213
224
|
: audio_scale_util_1.DyFM_AudioScale_Util.clampToScale(partial.master, this.config.scale, defaults.master);
|
|
225
|
+
// A hianyzo `playWhenUnfocused` a CONFIG alapertelmezeset kapja, NEM vakon `false`-t:
|
|
226
|
+
// igy egy regi (mezo nelkuli) mentes betoltese nem irja felul a jatek sajat dontetet.
|
|
227
|
+
const playWhenUnfocused = partial.playWhenUnfocused === undefined || partial.playWhenUnfocused === null
|
|
228
|
+
? defaults.playWhenUnfocused
|
|
229
|
+
: partial.playWhenUnfocused === true;
|
|
214
230
|
return {
|
|
215
231
|
master: master,
|
|
216
232
|
channels: channels,
|
|
217
233
|
muted: partial.muted === true,
|
|
234
|
+
playWhenUnfocused: playWhenUnfocused,
|
|
218
235
|
};
|
|
219
236
|
}
|
|
220
237
|
/**
|
|
@@ -274,11 +291,24 @@ class DyFM_AudioMixer_ControlModel {
|
|
|
274
291
|
next.muted = muted === true;
|
|
275
292
|
return next;
|
|
276
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* A "szoljon-e hattervben" kapcsolo beallitasa — UJ allapot-objektumot ad vissza.
|
|
296
|
+
*
|
|
297
|
+
* A modell csak a SZANDEKOT tarolja; a tenyleges szuneteltetes a lejatszo-reteg dolga
|
|
298
|
+
* (`visibilitychange` / `blur`), mert ez a reteg DOM-fuggetlen.
|
|
299
|
+
*/
|
|
300
|
+
withPlayWhenUnfocused(state, playWhenUnfocused) {
|
|
301
|
+
const next = this.merge(state);
|
|
302
|
+
next.playWhenUnfocused = playWhenUnfocused === true;
|
|
303
|
+
return next;
|
|
304
|
+
}
|
|
277
305
|
/** Ket allapot ertek szerinti egyezese (mentes-szukseg / change-detection dontesehez). */
|
|
278
306
|
isEqual(a, b) {
|
|
279
307
|
const left = this.merge(a);
|
|
280
308
|
const right = this.merge(b);
|
|
281
|
-
if (left.master !== right.master
|
|
309
|
+
if (left.master !== right.master
|
|
310
|
+
|| left.muted !== right.muted
|
|
311
|
+
|| left.playWhenUnfocused !== right.playWhenUnfocused) {
|
|
282
312
|
return false;
|
|
283
313
|
}
|
|
284
314
|
for (const channel of this.config.channels) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-mixer.control-model.js","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer.control-model.ts"],"names":[],"mappings":";;;AAEA,6FAAiF;AAEjF,uEAAwE;AAQxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAa,4BAA4B;IAEvC,8FAA8F;IAC9F,MAAM,CAAU,aAAa,GAAW,QAAQ,CAAC;IAEjD,6FAA6F;IAC5E,MAAM,CAAyB;IAEhD;;;OAGG;IACH,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1E,MAAM,IAAI,gCAAU,CAAC;gBACnB,SAAS,EAAE,sBAAsB;gBACjC,OAAO,EAAE,gFAAgF;gBACzF,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnD,MAAM,IAAI,gCAAU,CAAC;oBACnB,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,6EAA6E;oBACtF,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,KAAK,4BAA4B,CAAC,aAAa,EAAE,CAAC;gBAC3D,MAAM,IAAI,gCAAU,CAAC;oBACnB,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,uFAAuF;oBAChG,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;iBACjD,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,gCAAU,CAAC;oBACnB,SAAS,EAAE,sBAAsB;oBACjC,OAAO,EAAE,sDAAsD;oBAC/D,iBAAiB,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;iBACnE,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAoB,MAAM,CAAC,KAAK,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ;YACjF,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;YACnE,CAAC,CAAC,uCAAoB,CAAC,YAAY,EAAE,CAAC;QAExC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC9B,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;YACvD,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"audio-mixer.control-model.js","sourceRoot":"","sources":["../../../../src/_modules/game/_models/audio-mixer.control-model.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/fsm-dynamo",
|
|
3
|
-
"version": "01.16.
|
|
3
|
+
"version": "01.16.36",
|
|
4
4
|
"description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "full-stack-package",
|
|
@@ -131,3 +131,26 @@ describe('| DyFM_resolveRetentionTtlSeconds (FR-258 / SR-1)', () => {
|
|
|
131
131
|
expect(DyFM_resolveRetentionTtlSeconds({ retentionDays: 0.5 })).toBe(43200);
|
|
132
132
|
});
|
|
133
133
|
});
|
|
134
|
+
|
|
135
|
+
// BFR-ORGANIZER-001/002 kísérő — getDefaultValue: a property-defaultok single-source olvasása.
|
|
136
|
+
describe('| DyFM_DataModel_Params.getDefaultValue', () => {
|
|
137
|
+
interface TestShape { priority?: string; status?: string; title?: string; }
|
|
138
|
+
|
|
139
|
+
const params = new DyFM_DataModel_Params<TestShape & DyFM_Metadata>({
|
|
140
|
+
dataName: 'test_default_model',
|
|
141
|
+
properties: {
|
|
142
|
+
priority: { type: DyFM_BasicProperty_Type.string, default: 'medium' },
|
|
143
|
+
status: { type: DyFM_BasicProperty_Type.string, default: 'new' },
|
|
144
|
+
title: { type: DyFM_BasicProperty_Type.string },
|
|
145
|
+
},
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it('| a deklarált default-értéket adja vissza', () => {
|
|
149
|
+
expect(params.getDefaultValue?.('priority')).toBe('medium');
|
|
150
|
+
expect(params.getDefaultValue?.('status')).toBe('new');
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
it('| default nélküli property → undefined', () => {
|
|
154
|
+
expect(params.getDefaultValue?.('title')).toBeUndefined();
|
|
155
|
+
});
|
|
156
|
+
});
|
|
@@ -319,8 +319,18 @@ export class DyFM_DataModel_Params<T extends DyFM_Metadata> extends DyFM_DataMod
|
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
|
|
322
|
-
constructed?(): boolean {
|
|
323
|
-
return true;
|
|
322
|
+
constructed?(): boolean {
|
|
323
|
+
return true;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* BFR-ORGANIZER-001/002 kísérő (generikus): egy property deklarált default-értéke
|
|
328
|
+
* (`properties[key].default`) — hogy a defaultok EGYETLEN forrásból (a dataParams-ból)
|
|
329
|
+
* jöjjenek a fogyasztó create-útjain is (pl. `params.priority ?? dataParams.getDefaultValue('priority')`),
|
|
330
|
+
* ne duplikálódjanak literálként a service-kódban. `undefined`, ha nincs deklarált default.
|
|
331
|
+
*/
|
|
332
|
+
getDefaultValue?<K extends keyof T>(key: K): T[K] | undefined {
|
|
333
|
+
return this.properties?.[key]?.default;
|
|
324
334
|
}
|
|
325
335
|
|
|
326
336
|
setKeysForSubObjectParams?(property: DyFM_DataProperty_Params<any, T>): void {
|
|
@@ -42,4 +42,12 @@ export interface DyFM_AudioMixer_Config {
|
|
|
42
42
|
|
|
43
43
|
/** Alapertelmezes a `defaults`-ban fel nem sorolt csatornakra (**sajat skala**). Default: a maximum 80%-a. */
|
|
44
44
|
defaultChannelVolume?: number;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Szoljon-e a hang alapbol akkor is, ha a tab/ablak nem aktiv. **Default: `false`**
|
|
48
|
+
* (owner-direktiva — a hatter-hang opt-in, sosem opt-out).
|
|
49
|
+
*
|
|
50
|
+
* Csak nagyon indokolt esetben allitsd `true`-ra (pl. tisztan audio-jatek).
|
|
51
|
+
*/
|
|
52
|
+
defaultPlayWhenUnfocused?: boolean;
|
|
45
53
|
}
|
|
@@ -25,4 +25,14 @@ export interface DyFM_AudioMixer_Settings {
|
|
|
25
25
|
|
|
26
26
|
/** Globalis nemitas — ha true, minden effektiv hangero 0. */
|
|
27
27
|
muted: boolean;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Szoljon-e a hang, ha a tab/ablak nem aktiv. **Default: `false`.**
|
|
31
|
+
*
|
|
32
|
+
* **OPCIONALIS** — szandekosan, hogy a mezo bevezetese ne legyen torо valtozas a round-1
|
|
33
|
+
* alakot mar hasznalo projekteknek. A letezese viszont azt biztositja, hogy a klasszikus
|
|
34
|
+
* oda-vissza konverzio (`toClassicSettings` -> `fromClassicSettings`) NE veszitse el a
|
|
35
|
+
* kapcsolot.
|
|
36
|
+
*/
|
|
37
|
+
playWhenUnfocused?: boolean;
|
|
28
38
|
}
|
|
@@ -20,4 +20,17 @@ export interface DyFM_AudioMixer_State {
|
|
|
20
20
|
|
|
21
21
|
/** Globalis nemitas — ha `true`, minden effektiv hangero 0. */
|
|
22
22
|
muted: boolean;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Szoljon-e a hang akkor is, ha a **tab / ablak NEM aktiv** (hattervben van).
|
|
26
|
+
*
|
|
27
|
+
* **Alapertelmezes: `false`** — owner-direktiva. Egy hattervbe tett jatek alapbol NE szoljon
|
|
28
|
+
* bele a felhasznalo mas munkajaba; aki ezt akarja, az kapcsolja be. Ez a mezo CSAK a
|
|
29
|
+
* szandekot hordozza — a tenyleges szuneteltetest a lejatszo-reteg vegzi (bongeszo-fuggo
|
|
30
|
+
* `visibilitychange` / `blur`), mert a modell-reteg szandekosan DOM-fuggetlen.
|
|
31
|
+
*
|
|
32
|
+
* **Migracio:** a mezo nelkuli (regi) mentesek a `merge()`-ben a config alapertelmezeset
|
|
33
|
+
* kapjak, tehat egy regi save betoltese nem kapcsolja be veletlenul a hatter-hangot.
|
|
34
|
+
*/
|
|
35
|
+
playWhenUnfocused: boolean;
|
|
23
36
|
}
|
|
@@ -173,6 +173,7 @@ describe('DyFM_AudioMixer_ControlModel', (): void => {
|
|
|
173
173
|
master: NaN,
|
|
174
174
|
channels: { music: NaN, dialog: NaN, interface: NaN },
|
|
175
175
|
muted: false,
|
|
176
|
+
playWhenUnfocused: false,
|
|
176
177
|
};
|
|
177
178
|
|
|
178
179
|
expect(Number.isNaN(mixer.getEffectiveVolume(broken, 'music'))).toBe(false);
|
|
@@ -291,6 +292,7 @@ describe('DyFM_AudioMixer_ControlModel', (): void => {
|
|
|
291
292
|
const mixer: DyFM_AudioMixer_ControlModel = createHeroCoordinatorMixer();
|
|
292
293
|
const persisted: DyFM_AudioMixer_State = {
|
|
293
294
|
master: 72, channels: { music: 36, dialog: 84, interface: 68 }, muted: false,
|
|
295
|
+
playWhenUnfocused: false,
|
|
294
296
|
};
|
|
295
297
|
|
|
296
298
|
expect(mixer.merge(JSON.parse(JSON.stringify(persisted)))).toEqual(persisted);
|
|
@@ -303,4 +305,72 @@ describe('DyFM_AudioMixer_ControlModel', (): void => {
|
|
|
303
305
|
expect(mixer.hasChannel('interface')).toBe(true);
|
|
304
306
|
});
|
|
305
307
|
});
|
|
308
|
+
|
|
309
|
+
describe('playWhenUnfocused (hatter-hang kapcsolo)', (): void => {
|
|
310
|
+
|
|
311
|
+
it('ALAPBOL kikapcsolt — a hatter-hang opt-in, sosem opt-out', (): void => {
|
|
312
|
+
expect(createHeroCoordinatorMixer().getDefaults().playWhenUnfocused).toBe(false);
|
|
313
|
+
expect(DyFM_AudioMixer_ControlModel.createClassic().getDefaults().playWhenUnfocused).toBe(false);
|
|
314
|
+
});
|
|
315
|
+
|
|
316
|
+
it('a config explicit `true`-ra allithatja (pl. tisztan audio-jatek)', (): void => {
|
|
317
|
+
const mixer: DyFM_AudioMixer_ControlModel = new DyFM_AudioMixer_ControlModel({
|
|
318
|
+
channels: ['music'],
|
|
319
|
+
scale: { max: 1, integer: false },
|
|
320
|
+
defaultPlayWhenUnfocused: true,
|
|
321
|
+
});
|
|
322
|
+
|
|
323
|
+
expect(mixer.getDefaults().playWhenUnfocused).toBe(true);
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
it('REGI mentes (mezo nelkul) a CONFIG defaultjat kapja, nem vakon false-t', (): void => {
|
|
327
|
+
const optIn: DyFM_AudioMixer_ControlModel = new DyFM_AudioMixer_ControlModel({
|
|
328
|
+
channels: ['music'],
|
|
329
|
+
scale: { max: 1, integer: false },
|
|
330
|
+
defaultPlayWhenUnfocused: true,
|
|
331
|
+
});
|
|
332
|
+
// A regi payloadban meg NINCS `playWhenUnfocused` — pont ez a migracios eset.
|
|
333
|
+
const legacy: Partial<DyFM_AudioMixer_State> = { master: 0.5, channels: { music: 0.5 } };
|
|
334
|
+
|
|
335
|
+
expect(optIn.merge(legacy).playWhenUnfocused).toBe(true);
|
|
336
|
+
expect(createHeroCoordinatorMixer().merge({ master: 50 }).playWhenUnfocused).toBe(false);
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
it('az explicit `false` felulirja a `true` config-defaultot', (): void => {
|
|
340
|
+
const optIn: DyFM_AudioMixer_ControlModel = new DyFM_AudioMixer_ControlModel({
|
|
341
|
+
channels: ['music'],
|
|
342
|
+
scale: { max: 1, integer: false },
|
|
343
|
+
defaultPlayWhenUnfocused: true,
|
|
344
|
+
});
|
|
345
|
+
|
|
346
|
+
expect(optIn.merge({ playWhenUnfocused: false }).playWhenUnfocused).toBe(false);
|
|
347
|
+
});
|
|
348
|
+
|
|
349
|
+
it('a withPlayWhenUnfocused UJ objektumot ad (immutable update)', (): void => {
|
|
350
|
+
const mixer: DyFM_AudioMixer_ControlModel = createHeroCoordinatorMixer();
|
|
351
|
+
const before: DyFM_AudioMixer_State = mixer.getDefaults();
|
|
352
|
+
const after: DyFM_AudioMixer_State = mixer.withPlayWhenUnfocused(before, true);
|
|
353
|
+
|
|
354
|
+
expect(after).not.toBe(before);
|
|
355
|
+
expect(before.playWhenUnfocused).toBe(false);
|
|
356
|
+
expect(after.playWhenUnfocused).toBe(true);
|
|
357
|
+
});
|
|
358
|
+
|
|
359
|
+
it('az isEqual KULONBSEGET lat a kapcsolon (kulonben nem mentodne el)', (): void => {
|
|
360
|
+
const mixer: DyFM_AudioMixer_ControlModel = createHeroCoordinatorMixer();
|
|
361
|
+
const off: DyFM_AudioMixer_State = mixer.getDefaults();
|
|
362
|
+
|
|
363
|
+
expect(mixer.isEqual(off, mixer.withPlayWhenUnfocused(off, true))).toBe(false);
|
|
364
|
+
expect(mixer.isEqual(off, mixer.withPlayWhenUnfocused(off, false))).toBe(true);
|
|
365
|
+
});
|
|
366
|
+
|
|
367
|
+
it('a klasszikus oda-vissza konverzio NEM veszti el a kapcsolot', (): void => {
|
|
368
|
+
const mixer: DyFM_AudioMixer_ControlModel = DyFM_AudioMixer_ControlModel.createClassic();
|
|
369
|
+
const on: DyFM_AudioMixer_State = mixer.withPlayWhenUnfocused(mixer.getDefaults(), true);
|
|
370
|
+
const classic: DyFM_AudioMixer_Settings = mixer.toClassicSettings(on);
|
|
371
|
+
|
|
372
|
+
expect(classic.playWhenUnfocused).toBe(true);
|
|
373
|
+
expect(DyFM_AudioMixer_ControlModel.fromClassicSettings(classic).playWhenUnfocused).toBe(true);
|
|
374
|
+
});
|
|
375
|
+
});
|
|
306
376
|
});
|
|
@@ -105,6 +105,7 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
105
105
|
defaults: config.defaults ? { ...config.defaults } : {},
|
|
106
106
|
defaultMaster: config.defaultMaster,
|
|
107
107
|
defaultChannelVolume: config.defaultChannelVolume,
|
|
108
|
+
defaultPlayWhenUnfocused: config.defaultPlayWhenUnfocused === true,
|
|
108
109
|
};
|
|
109
110
|
}
|
|
110
111
|
|
|
@@ -151,6 +152,8 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
151
152
|
effects: DyFM_AudioScale_Util.toUnit(safe.effects, scale),
|
|
152
153
|
},
|
|
153
154
|
muted: safe.muted === true,
|
|
155
|
+
// Statikus metodus -> nincs peldany-config, ezert a GLOBALIS default (`false`) ervenyes.
|
|
156
|
+
playWhenUnfocused: safe.playWhenUnfocused === true,
|
|
154
157
|
};
|
|
155
158
|
}
|
|
156
159
|
|
|
@@ -168,13 +171,22 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
168
171
|
const safe: DyFM_AudioMixer_State = this.merge(state);
|
|
169
172
|
const scale: DyFM_AudioScale = this.config.scale;
|
|
170
173
|
|
|
171
|
-
|
|
174
|
+
const classic: DyFM_AudioMixer_Settings = {
|
|
172
175
|
master: DyFM_AudioScale_Util.toUnit(safe.master, scale),
|
|
173
176
|
music: DyFM_AudioScale_Util.toUnit(safe.channels['music'], scale),
|
|
174
177
|
ambience: DyFM_AudioScale_Util.toUnit(safe.channels['ambience'], scale),
|
|
175
178
|
effects: DyFM_AudioScale_Util.toUnit(safe.channels['effects'], scale),
|
|
176
179
|
muted: safe.muted === true,
|
|
177
180
|
};
|
|
181
|
+
|
|
182
|
+
// A kapcsolot CSAK bekapcsolt allapotban irjuk ki. Igy a round-1 alakot mar hasznalo
|
|
183
|
+
// projektek payloadja valtozatlan marad (nem jelenik meg benne egy uj `false` mezo),
|
|
184
|
+
// a bekapcsolt allapot viszont tulel egy oda-vissza konverziot.
|
|
185
|
+
if (safe.playWhenUnfocused) {
|
|
186
|
+
classic.playWhenUnfocused = true;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return classic;
|
|
178
190
|
}
|
|
179
191
|
|
|
180
192
|
/** A peldany configja (masolat — a mutalasa nem hat vissza a modellre). */
|
|
@@ -213,6 +225,7 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
213
225
|
master: this.getDefaultMaster(),
|
|
214
226
|
channels: channels,
|
|
215
227
|
muted: false,
|
|
228
|
+
playWhenUnfocused: this.config.defaultPlayWhenUnfocused === true,
|
|
216
229
|
};
|
|
217
230
|
}
|
|
218
231
|
|
|
@@ -251,10 +264,18 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
251
264
|
? defaults.master
|
|
252
265
|
: DyFM_AudioScale_Util.clampToScale(partial.master, this.config.scale, defaults.master);
|
|
253
266
|
|
|
267
|
+
// A hianyzo `playWhenUnfocused` a CONFIG alapertelmezeset kapja, NEM vakon `false`-t:
|
|
268
|
+
// igy egy regi (mezo nelkuli) mentes betoltese nem irja felul a jatek sajat dontetet.
|
|
269
|
+
const playWhenUnfocused: boolean =
|
|
270
|
+
partial.playWhenUnfocused === undefined || partial.playWhenUnfocused === null
|
|
271
|
+
? defaults.playWhenUnfocused
|
|
272
|
+
: partial.playWhenUnfocused === true;
|
|
273
|
+
|
|
254
274
|
return {
|
|
255
275
|
master: master,
|
|
256
276
|
channels: channels,
|
|
257
277
|
muted: partial.muted === true,
|
|
278
|
+
playWhenUnfocused: playWhenUnfocused,
|
|
258
279
|
};
|
|
259
280
|
}
|
|
260
281
|
|
|
@@ -333,12 +354,32 @@ export class DyFM_AudioMixer_ControlModel {
|
|
|
333
354
|
return next;
|
|
334
355
|
}
|
|
335
356
|
|
|
357
|
+
/**
|
|
358
|
+
* A "szoljon-e hattervben" kapcsolo beallitasa — UJ allapot-objektumot ad vissza.
|
|
359
|
+
*
|
|
360
|
+
* A modell csak a SZANDEKOT tarolja; a tenyleges szuneteltetes a lejatszo-reteg dolga
|
|
361
|
+
* (`visibilitychange` / `blur`), mert ez a reteg DOM-fuggetlen.
|
|
362
|
+
*/
|
|
363
|
+
withPlayWhenUnfocused(
|
|
364
|
+
state: DyFM_AudioMixer_State,
|
|
365
|
+
playWhenUnfocused: boolean,
|
|
366
|
+
): DyFM_AudioMixer_State {
|
|
367
|
+
const next: DyFM_AudioMixer_State = this.merge(state);
|
|
368
|
+
next.playWhenUnfocused = playWhenUnfocused === true;
|
|
369
|
+
|
|
370
|
+
return next;
|
|
371
|
+
}
|
|
372
|
+
|
|
336
373
|
/** Ket allapot ertek szerinti egyezese (mentes-szukseg / change-detection dontesehez). */
|
|
337
374
|
isEqual(a: DyFM_AudioMixer_State, b: DyFM_AudioMixer_State): boolean {
|
|
338
375
|
const left: DyFM_AudioMixer_State = this.merge(a);
|
|
339
376
|
const right: DyFM_AudioMixer_State = this.merge(b);
|
|
340
377
|
|
|
341
|
-
if (
|
|
378
|
+
if (
|
|
379
|
+
left.master !== right.master
|
|
380
|
+
|| left.muted !== right.muted
|
|
381
|
+
|| left.playWhenUnfocused !== right.playWhenUnfocused
|
|
382
|
+
) {
|
|
342
383
|
return false;
|
|
343
384
|
}
|
|
344
385
|
|