documentation and CHANGELOG

This commit is contained in:
GRL 2021-08-27 16:28:59 +02:00
parent ebcf4a6ae3
commit 12108bc529
3 changed files with 22 additions and 18 deletions

View file

@ -1,5 +1,11 @@
## Version develop ## Version develop
### Updates
- New scripting API features :
- Use `WA.ui.registerMenuCommand(commandDescriptor: string, options: MenuOptions): Menu` to add a custom menu or an iframe to the menu.
## Version 1.4.14
### Updates ### Updates
- New scripting API features : - New scripting API features :
- Use `WA.room.loadTileset(url: string) : Promise<number>` to load a tileset from a JSON file. - Use `WA.room.loadTileset(url: string) : Promise<number>` to load a tileset from a JSON file.

View file

@ -18,3 +18,4 @@ The list of functions below is **deprecated**. You should not use those but. use
- Method `WA.onChatMessage` is deprecated. It has been renamed to `WA.chat.onChatMessage`. - Method `WA.onChatMessage` is deprecated. It has been renamed to `WA.chat.onChatMessage`.
- Method `WA.onEnterZone` is deprecated. It has been renamed to `WA.room.onEnterZone`. - Method `WA.onEnterZone` is deprecated. It has been renamed to `WA.room.onEnterZone`.
- Method `WA.onLeaveZone` is deprecated. It has been renamed to `WA.room.onLeaveZone`. - Method `WA.onLeaveZone` is deprecated. It has been renamed to `WA.room.onLeaveZone`.
- Method `WA.ui.registerMenuCommand` parameter `callback` is deprecated. Use `WA.ui.registerMenuCommand(commandDescriptor: string, options: MenuOptions)`.

View file

@ -69,13 +69,15 @@ WA.room.onLeaveZone('myZone', () => {
### Add custom menu ### Add custom menu
``` ```
WA.ui.registerMenuCommand(commandDescriptor: string, options: MenuOptions | ((commandDescriptor: string) => void)): Menu WA.ui.registerMenuCommand(commandDescriptor: string, options: MenuOptions): Menu
``` ```
Add a custom menu item containing the text `commandDescriptor` in the navbar of the menu. Add a custom menu item containing the text `commandDescriptor` in the navbar of the menu.
`options` attributes can have three values : `options` attribute accepts an object with three properties :
- `(commandDescriptor: string) => void` : That value is deprecated. But will work like the second value. - `callback : (commandDescriptor: string) => void` : A click on the custom menu will trigger the `callback`.
- `{callback : (commandDescriptor: string) => void, allowApi?: boolean = true}` : A click on the custom menu will trigger the `callback`. The `allowApi` attribute is not used with the `callback`. - `iframe: string` : A click on the custom menu will open the `iframe` inside the menu.
- `{iframe: string, allowApi?: boolean = true}` : A click on the custom menu will open the `iframe` inside the menu. The `allowApi` attribute allow the `iframe` to use the Scripting API. - `allowApi?: boolean` : Allow the iframe of the custom menu to use the Scripting API.
Important : `options` accepts only `callback` or `iframe` not both.
Custom menu exist only until the map is unloaded, or you leave the iframe zone of the script. Custom menu exist only until the map is unloaded, or you leave the iframe zone of the script.
@ -90,20 +92,15 @@ Custom menu exist only until the map is unloaded, or you leave the iframe zone o
Example: Example:
```javascript ```javascript
//Add a callback menu in a zone const menu = WA.ui.registerMenuCommand('menu test',
let menu: undefined; {
WA.room.onEnterZone('myZone', () => { callback: () => {
menu = WA.ui.registerMenuCommand('menu test', {callback: () => { WA.chat.sendChatMessage('test');
WA.chat.sendChatMessage('test'); }
}}) })
})
//Remove the callback menu when the player leave the zone
WA.room.onLeaveZone('myZone', () => {
menu.remove();
})
//Add an iframe in the menu // Some time later, if you want to remove the menu:
WA.ui.registerMenuCommand('iframe', {iframe: 'myIframe.html', allowApi: true}); menu.remove();
``` ```
Please note that `registerMenuCommand` returns an object of the `Menu` class. Please note that `registerMenuCommand` returns an object of the `Menu` class.