Creates player state and uses it to get and set values from local storage
This commit is contained in:
parent
e025c1dc8e
commit
3490daed6b
9 changed files with 153 additions and 137 deletions
|
@ -1223,19 +1223,6 @@ ${escapedMessage}
|
|||
};
|
||||
});
|
||||
|
||||
//TODO : move Player Properties related-code
|
||||
iframeListener.registerAnswerer("setPlayerProperty", (event) => {
|
||||
localUserStore.setUserProperty(event.propertyName, event.propertyValue as string);
|
||||
});
|
||||
|
||||
iframeListener.registerAnswerer("getPlayerProperty", (event) => {
|
||||
return {
|
||||
propertyName: event,
|
||||
propertyValue: localUserStore.getUserProperty(event),
|
||||
};
|
||||
});
|
||||
//END TODO
|
||||
|
||||
iframeListener.registerAnswerer("getState", async () => {
|
||||
// The sharedVariablesManager is not instantiated before the connection is established. So we need to wait
|
||||
// for the connection to send back the answer.
|
||||
|
@ -1248,6 +1235,7 @@ ${escapedMessage}
|
|||
roomId: this.roomUrl,
|
||||
tags: this.connection ? this.connection.getAllTags() : [],
|
||||
variables: this.sharedVariablesManager.variables,
|
||||
playerVariables: localUserStore.getAllUserProperties(),
|
||||
userRoomToken: this.connection ? this.connection.userRoomToken : "",
|
||||
};
|
||||
});
|
||||
|
@ -1338,6 +1326,22 @@ ${escapedMessage}
|
|||
})
|
||||
);
|
||||
|
||||
iframeListener.registerAnswerer("setVariable", (event, source) => {
|
||||
switch (event.target) {
|
||||
case "global": {
|
||||
this.sharedVariablesManager.setVariable(event, source);
|
||||
break;
|
||||
}
|
||||
case "player": {
|
||||
localUserStore.setUserProperty(event.key, event.value);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
const _exhaustiveCheck: never = event.target;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
iframeListener.registerAnswerer("removeActionMessage", (message) => {
|
||||
layoutManagerActionStore.removeAction(message.uuid);
|
||||
});
|
||||
|
@ -1480,6 +1484,7 @@ ${escapedMessage}
|
|||
iframeListener.unregisterAnswerer("openCoWebsite");
|
||||
iframeListener.unregisterAnswerer("getCoWebsites");
|
||||
iframeListener.unregisterAnswerer("setPlayerOutline");
|
||||
iframeListener.unregisterAnswerer("setVariable");
|
||||
this.sharedVariablesManager?.close();
|
||||
this.embeddedWebsiteManager?.close();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue