diff --git a/docs/maps/api-deprecated.md b/docs/maps/api-deprecated.md index cc96e12a..ffa8af9e 100644 --- a/docs/maps/api-deprecated.md +++ b/docs/maps/api-deprecated.md @@ -3,20 +3,21 @@ The list of functions below is **deprecated**. You should not use those but. use the replacement functions. -- Method `WA.sendChatMessage` is deprecated. It has been renamed to `WA.chat.sendChatMessage`. -- Method `WA.disablePlayerControls` is deprecated. It has been renamed to `WA.controls.disablePlayerControls`. -- Method `WA.restorePlayerControls` is deprecated. It has been renamed to `WA.controls.restorePlayerControls`. +- Method `WA.sendChatMessage` is deprecated. It has been renamed to [`WA.chat.sendChatMessage`](api-chat.md#sending-a-message-in-the-chat). +- Method `WA.disablePlayerControls` is deprecated. It has been renamed to [`WA.controls.disablePlayerControls`](api-controls.md#disabling--restoring-controls). +- Method `WA.restorePlayerControls` is deprecated. It has been renamed to [`WA.controls.restorePlayerControls`](api-controls.md#disabling--restoring-controls). - Method `WA.displayBubble` is deprecated. It has been renamed to `WA.ui.displayBubble`. - Method `WA.removeBubble` is deprecated. It has been renamed to `WA.ui.removeBubble`. -- Method `WA.openTab` is deprecated. It has been renamed to `WA.nav.openTab`. -- Method `WA.loadSound` is deprecated. It has been renamed to `WA.sound.loadSound`. -- Method `WA.goToPage` is deprecated. It has been renamed to `WA.nav.goToPage`. -- Method `WA.goToRoom` is deprecated. It has been renamed to `WA.nav.goToRoom`. -- Method `WA.openCoWebSite` is deprecated. It has been renamed to `WA.nav.openCoWebSite`. -- Method `WA.closeCoWebSite` is deprecated. It has been renamed to `WA.nav.closeCoWebSite`. -- Method `WA.closeCoWebsite` is deprecated. It has been renamed to `WA.nav.closeCoWebsite`. -- Method `WA.openPopup` is deprecated. It has been renamed to `WA.ui.openPopup`. -- 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.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)`. \ No newline at end of file +- Method `WA.openTab` is deprecated. It has been renamed to [`WA.nav.openTab`](api-nav.md#opening-a-web-page-in-a-new-tab). +- Method `WA.loadSound` is deprecated. It has been renamed to [`WA.sound.loadSound`](api-sound.md#load-a-sound-from-an-url). +- Method `WA.goToPage` is deprecated. It has been renamed to [`WA.nav.goToPage`](api-nav.md#opening-a-web-page-in-the-current-tab). +- Method `WA.goToRoom` is deprecated. It has been renamed to [`WA.nav.goToRoom`](api-nav.md#going-to-a-different-map-from-the-script). +- Method `WA.openCoWebSite` is deprecated. It has been renamed to [`WA.nav.openCoWebSite`](api-nav.md#openingclosing-web-page-in-co-websites). +- Method `WA.closeCoWebSite` is deprecated. It has been remove and [replace by a function close](api-nav.md#openingclosing-web-page-in-co-websites). +- Method `WA.openPopup` is deprecated. It has been renamed to [`WA.ui.openPopup`](api-ui.md#opening-a-popup). +- Method `WA.onChatMessage` is deprecated. It has been renamed to [`WA.chat.onChatMessage`](api-chat.md#listening-to-messages-from-the-chat). +- Method `WA.onEnterZone` is deprecated. It has been renamed to [`WA.room.onEnterZone`](api-room.md#detecting-when-the-user-entersleaves-a-layer). +- Method `WA.onLeaveZone` is deprecated. It has been renamed to [`WA.room.onLeaveZone`](api-room.md#detecting-when-the-user-entersleaves-a-layer). +- Method `WA.ui.registerMenuCommand` parameter `callback` is deprecated. Use [`WA.ui.registerMenuCommand(commandDescriptor: string, options: MenuOptions)`](api-ui.md#add-custom-menu). +- Method `WA.room.onEnterZone` is deprecated. Use instead [`WA.room.onEnterLayer`](api-room.md#detecting-when-the-user-entersleaves-a-layer). +- Method `WA.room.onLeaveZone` is deprecated. Use instead [`WA.room.onLeaveLayer`](api-room.md#detecting-when-the-user-entersleaves-a-layer). \ No newline at end of file diff --git a/docs/maps/api-room.md b/docs/maps/api-room.md index d1a26d2f..72947df8 100644 --- a/docs/maps/api-room.md +++ b/docs/maps/api-room.md @@ -17,35 +17,27 @@ The name of the layers of this map are : * `bottom/build/carpet` * `wall` -### Detecting when the user enters/leaves a zone +### Detecting when the user enters/leaves a layer ``` -WA.room.onEnterZone(name: string, callback: () => void): void -WA.room.onLeaveZone(name: string, callback: () => void): void +WA.room.onEnterLayer(name: string): Subscription +WA.room.onLeaveLayer(name: string): Subscription ``` -Listens to the position of the current user. The event is triggered when the user enters or leaves a given zone. The name of the zone is stored in the map, on a dedicated layer with the `zone` property. +Listens to the position of the current user. The event is triggered when the user enters or leaves a given layer. -
-
- -
The `zone` property, applied on a layer
-
-
- -* **name**: the name of the zone, as defined in the `zone` property. -* **callback**: the function that will be called when a user enters or leaves the zone. +* **name**: the name of the layer who as defined in Tiled. Example: ```javascript -WA.room.onEnterZone('myZone', () => { +WA.room.onEnterLayer('myLayer').subscribe(() => { WA.chat.sendChatMessage("Hello!", 'Mr Robot'); -}) +}); -WA.room.onLeaveZone('myZone', () => { +WA.room.onLeaveLayer('myLayer').subscribe(() => { WA.chat.sendChatMessage("Goodbye!", 'Mr Robot'); -}) +}); ``` ### Show / Hide a layer @@ -71,7 +63,7 @@ WA.room.setProperty(layerName : string, propertyName : string, propertyValue : s Set the value of the `propertyName` property of the layer `layerName` at `propertyValue`. If the property doesn't exist, create the property `propertyName` and set the value of the property at `propertyValue`. -Note : +Note : To unset a property from a layer, use `setProperty` with `propertyValue` set to `undefined`. Example : @@ -131,7 +123,7 @@ console.log("Map generated with Tiled version ", map.tiledversion); Check the [Tiled documentation to learn more about the format of the JSON map](https://doc.mapeditor.org/en/stable/reference/json-map-format/). -### Changing tiles +### Changing tiles ``` WA.room.setTiles(tiles: TileDescriptor[]): void ``` @@ -144,7 +136,7 @@ If `tile` is a string, it's not the id of the tile but the value of the property -`TileDescriptor` has the following attributes : +`TileDescriptor` has the following attributes : * **x (number) :** The coordinate x of the tile that you want to replace. * **y (number) :** The coordinate y of the tile that you want to replace. * **tile (number | string) :** The id of the tile that will be placed in the map. @@ -154,7 +146,7 @@ If `tile` is a string, it's not the id of the tile but the value of the property Note: If you want to unset a tile, use `setTiles` with `tile` set to `null`. -Example : +Example : ```javascript WA.room.setTiles([ {x: 6, y: 4, tile: 'blue', layer: 'setTiles'}, @@ -246,7 +238,7 @@ const website = WA.room.website.create({ WA.room.website.delete(name: string): Promise ``` -Use `WA.room.website.delete` to completely remove an embedded website from your map. +Use `WA.room.website.delete` to completely remove an embedded website from your map. ### The EmbeddedWebsite class @@ -271,7 +263,7 @@ When you modify a property of an `EmbeddedWebsite` instance, the iframe is autom {.alert.alert-warning} -The websites you add/edit/delete via the scripting API are only shown locally. If you want them +The websites you add/edit/delete via the scripting API are only shown locally. If you want them to be displayed for every player, you can use [variables](api-start.md) to share a common state between all users.