@@ -18,6 +18,8 @@ export class ComponentParamManager {
1818 private readonly _store : Writable < ComponentParam [ ] > ;
1919 private readonly _valuesStore : Writable < Record < string , string > > ;
2020
21+ private readonly _storageResolvable : string ;
22+
2123 static reset ( ) {
2224 _storage . set ( { } ) ;
2325 _valueStorage . set ( { } ) ;
@@ -28,10 +30,10 @@ export class ComponentParamManager {
2830 constructor ( component : EntityComponentHandle , params : Record < string , string > ) {
2931 this . component = component ;
3032
31- const storageResolvable = `${ this . component . manager . entity . manager . scene . id } /${ this . component . manager . entity . id } /${ this . component . id } ` ;
33+ this . _storageResolvable = `${ this . component . manager . entity . manager . scene . id } /${ this . component . manager . entity . id } /${ this . component . id } ` ;
3234
33- this . _store = resolveStore ( _storage , storageResolvable , get ( component . store ) . params ) ;
34- this . _valuesStore = resolveStore ( _valueStorage , storageResolvable , params ) ;
35+ this . _store = resolveStore ( _storage , this . _storageResolvable , get ( component . store ) . params ) ;
36+ this . _valuesStore = resolveStore ( _valueStorage , this . _storageResolvable , params ) ;
3537
3638 this . _listen ( ) ;
3739 }
@@ -62,10 +64,11 @@ export class ComponentParamManager {
6264 params . map ( ( param ) => ( param . name === id ? { ...param , value : undefined } : param ) ) ,
6365 ) ;
6466
67+ const fullId = `${ this . _storageResolvable } /${ id } ` ;
6568 const subscriptions = get ( _subscriptions ) ;
66- if ( subscriptions [ id ] ) {
67- subscriptions [ id ] ( ) ;
68- subscriptions [ id ] = null ;
69+ if ( subscriptions [ fullId ] ) {
70+ subscriptions [ fullId ] ( ) ;
71+ subscriptions [ fullId ] = null ;
6972 _subscriptions . set ( subscriptions ) ;
7073 }
7174 }
@@ -80,9 +83,10 @@ export class ComponentParamManager {
8083
8184 private _subscribe ( id : string , handle : ComponentParamHandle ) {
8285 setTimeout ( ( ) => {
86+ const fullId = `${ this . _storageResolvable } /${ id } ` ;
8387 const subscriptions = get ( _subscriptions ) ;
84- if ( subscriptions [ id ] ) return ;
85- subscriptions [ id ] = handle . value . subscribe ( ( param ) => this . _update ( id , param ) ) ;
88+ if ( subscriptions [ fullId ] ) return ;
89+ subscriptions [ fullId ] = handle . value . subscribe ( ( param ) => this . _update ( id , param ) ) ;
8690 _subscriptions . set ( subscriptions ) ;
8791 } , 0 ) ;
8892 }
0 commit comments