Commit Graph

218 Commits

Author SHA1 Message Date
Alexis Faizeau
d4470568ec Fix change layer api functions 2021-10-29 23:16:36 +02:00
Alexis Faizeau
934e24f837 Implement on enter/leave layer events 2021-10-29 19:44:58 +02:00
Gregoire Parant
f8ae189cee HotFix handler message in chat store
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-10-27 14:29:39 +02:00
Alexis Faizeau
fb7fe0dc0a Rename cowebsite API functions 2021-10-25 19:00:26 +02:00
Alexis Faizeau
f84c4b3276 Refacto insert cowebsite 2021-10-25 19:00:26 +02:00
Alexis Faizeau
b81b1ff68b Implement new cowbesite system on API 2021-10-25 19:00:26 +02:00
David Négrier
0ecabd14f1 Switching API to use type="module" scripts
This allows using imports inside scripts imported by WorkAdventure out of the box (and therefore easily importing the scripting-api-extra without resorting to using a bundler)
2021-09-20 09:14:14 +02:00
David Négrier
f92b728a8e Fixing broken chat API 2021-09-13 14:50:02 +02:00
kharhamel
4160235b92 ran pretty on the front 2021-09-06 14:31:59 +02:00
David Négrier
7576fbbe6d
Merge pull request #1392 from thecodingmachine/iframeMenuScript
Iframe menu script
2021-08-27 17:41:04 +02:00
David Négrier
10c08dea6d
Merge pull request #1393 from thecodingmachine/variableHasProxy
Fixing "has/in" on variables proxy object
2021-08-27 15:07:50 +02:00
David Négrier
a0d3685227 Fixing "has/in" on variables proxy object
When using WA.state, using `"myVariable" in WA.state` would always return false.
This is now fixed by adding a "has" method on the Proxy class.

Also, added a `WA.state.hasVariable` method.
2021-08-27 11:29:59 +02:00
GRL
706f531ca2 Add types file in API 2021-08-27 11:17:48 +02:00
GRL
cf7bfe79ca Refactor to only have one function registerMenuCommand
When selected custom menu is removed, go to settings menu
Allow iframe in custom menu to use Scripting API
Return menu object when it is registered, can call remove function on it
2021-08-27 10:34:03 +02:00
GRL78
7c956d1481
REVIEW : Migration Menu and Report Menu in Svelte (#1363)
* WIP: svelte menu

* temp

* temp

* New menu svelte

* Migration of report menu in svelte

* Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu

* Suppression of HTML files that aren't use anymore

* fix deeployer

* First pass on css

* First pass on css

* Second pass on css and reportMenu

* Second pass on css and reportMenu

* Second pass on css and reportMenu

* Third pass on css and reportMenu

* Correction following test

* Contact page only if environment variable exist

* Update service worker

Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>

* Change requested

* Change requested

Co-authored-by: kharhamel <oognic@gmail.com>
Co-authored-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-08-26 12:01:07 +02:00
David Négrier
5cd3ab4b4c Removing ts-ignore 2021-08-25 09:30:05 +02:00
GRL
f3c4d344b3 Add iframe submenu by scripting API
Delete menu by scripting API
2021-08-24 17:35:06 +02:00
GRL
49eb28dacf Merge branch 'develop' of github.com:thecodingmachine/workadventure into menuInSvelte 2021-08-24 09:38:24 +02:00
GRL
ad95fa5e11 Execute scripts of the map after creating gameScene 2021-08-23 18:53:59 +02:00
GRL
edfe440c6e Merge branch 'develop' of github.com:thecodingmachine/workadventure into menuInSvelte 2021-08-20 16:18:45 +02:00
David Négrier
8a64491952 Improving popup
If a popup message is empty, only the buttons will be displayed (not the container)

Unrelated: the Sound.play method in the API now accepts 0 arguments.
2021-08-18 11:53:41 +02:00
GRL
f4ce5f9a3b Merge branch 'ReportMenuSvelte' of github.com:thecodingmachine/workadventure into menuInSvelte 2021-08-11 15:04:47 +02:00
GRL
8105e966ff Migration of registerCustomMenu for Menu in Svelte
Refactor subMenuStore
Suppression of old MenuScene and ReportMenu
2021-08-11 14:07:34 +02:00
GRL78
e0fb31fc58
WIP: Migrate AudioManager in Svelte (#1325)
* Migrate AudioManager in Svelte

* use import type when needed
2021-08-06 09:11:17 +02:00
David Négrier
6b9b999996 Making embedded iframes scriptable using the WA.room.website namespace. 2021-08-05 12:37:05 +02:00
David Négrier
bc1c6a4986 Refactoring displayActionMessage signature. Now accepting an options object. This should allow for more options in the future. 2021-08-05 12:02:00 +02:00
David Négrier
d1e5d57459 Changing the method name from "triggerMessage" to "displayActionMessage".
Generally speaking, I like to call the message at the bottom an "action message".
And things can "trigger" it, but in the case of a method that actually proactively displays the message, I find "displayActionMessage" to be a better name.

Also, removing package-lock files and improving code style
2021-08-05 09:17:33 +02:00
David Négrier
4713010929 Merge branch 'develop' of github.com:thecodingmachine/workadventure into trigger-message-refv3 2021-08-03 19:01:16 +02:00
Gregoire Parant
14b4229019 Merge branch 'develop' into GlobalMessageToWorld
# Conflicts:
#	CHANGELOG.md
#	front/src/Api/Events/IframeEvent.ts
#	front/src/Components/App.svelte
#	pusher/src/Services/SocketManager.ts
2021-08-02 23:07:39 +02:00
GRL
73d589ad11 Load a json file that describe a tileset in Tile format.
Then add it to the tilemap of the GameScene
Then add if to the GameMap
2021-07-28 18:03:19 +02:00
David Négrier
cdd61bdb2c Merging with develop 2021-07-23 16:41:38 +02:00
David Négrier
3d5c222957 Reverting changes regarding single quotes 2021-07-23 14:59:56 +02:00
GRL
ba6e6235d6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-23 14:10:43 +02:00
David Négrier
2aba6b1c27 Fixing loop when setting variables
Setting a variable would makes the application enter in an infinite loop of events (between all the scripts and the back)
This fix makes sure a variable does not emit any event if it is changed to a value it already has.
2021-07-23 11:51:01 +02:00
GRL
9fa7c7aac0 Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-22 17:29:00 +02:00
David Négrier
84df25f863 Improving WA.state typings 2021-07-22 17:14:36 +02:00
GRL
68ff1b9e17 Merge branch 'develop' of github.com:thecodingmachine/workadventure into GlobalMessageToWorld 2021-07-22 16:26:01 +02:00
David Négrier
080d495044 Renaming WA.room.getMap to WA.room.getTiledMap 2021-07-21 16:40:53 +02:00
David Négrier
3d76f76d3e Fixing merge 2021-07-16 11:37:44 +02:00
David Négrier
5c7ea7b258 Merge branch 'develop' of github.com:thecodingmachine/workadventure into scripting_api_room_metadata 2021-07-16 11:22:36 +02:00
GRL78
b2ea368097
Migrate getCurrentUser() to WA.player (#1279) 2021-07-13 15:13:14 +02:00
David Négrier
52fd9067b8 Editing do to add "state" API doc 2021-07-08 11:46:30 +02:00
David Négrier
b1cb12861f Migrating variables functions to the "state" namespace. 2021-07-07 22:14:59 +02:00
David Négrier
e65e8b2097 First version with variables that actually work 2021-07-07 17:17:28 +02:00
GRL
bef5e139c0 SetTiles can now set a tile to null so that there is no more tile. 2021-07-07 14:42:17 +02:00
David Négrier
86fa869b20 Actually using Type Guards in queries received by WA. 2021-07-06 10:26:44 +02:00
David Négrier
bf17ad4567 Switching setVariable to a query and fixing error hangling in query mechanism 2021-07-05 18:29:34 +02:00
David Négrier
c30de8c6db Adding support for default variables values 2021-07-05 17:25:23 +02:00
jonny
4ea6a12d20 cast callback 2021-07-05 16:26:29 +02:00
David Négrier
62a4814961 Migrating WA.player.getCurrentUser and WA.room.getCurrentRoom to direct property access and WA.room.getMap 2021-07-05 11:53:33 +02:00
jonny
310e131a6e eslint restart 2021-07-02 19:03:34 +02:00
jonny
369d453455 Merge remote-tracking branch 'remotes/upstream/develop' into trigger-message-refv3 2021-07-02 18:49:22 +02:00
David Négrier
ea1460abaf Adding variables (on the front side for now) 2021-07-02 17:36:43 +02:00
David Négrier
280c59e6b5 Changing callback signature of registerAnswerer so that it can return a value and not necessarily a promise. 2021-07-02 17:26:28 +02:00
David Négrier
5b4a72ea1f Add new "query/answer" utility functions for the scripting API
So far, the scripting API was using events to communicate between WA and the iFrame.
But often, the scripting API might actually want to "ask" WA a question and wait for an answer.

We dealt with this by using 2 unrelated events (in a mostly painful way).

This commit adds a "queryWorkadventure" utility function in the iFrame API that allows us
to send a query, and to wait for an answer. The query and answer events have a unique ID to be
sure the answer matches the correct query.

On the WA side, a new `IframeListener.registerAnswerer` method can be used to register a possible answer.
2021-07-02 16:49:22 +02:00
GRL
e1611969ce Merge branch 'develop' of github.com:thecodingmachine/workadventure into jonnytest1-tiles-start-positions 2021-07-02 14:35:28 +02:00
GRL
01d02124d1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-07-01 11:38:33 +02:00
David Négrier
bfcdd31ed2 Fixing NPM package generation
The generation was broken due to the refactoring in several classes (some of them where not properly exported).
Also, trying to generate the NPM package on every build now (to detect issues).
2021-06-30 10:15:55 +02:00
GRL
6462773e7f Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-29 14:16:19 +02:00
GRL
b457ce493b Suppress console.log 2021-06-29 09:44:57 +02:00
GRL
389ca25b6a Cowebsite opened by script can use Iframe Api 2021-06-28 18:00:48 +02:00
David Négrier
3fd4f9d384 Adding a warning message if an unauthorized iFrame tries to communicate with WA
Closes #1241
2021-06-28 15:20:27 +02:00
David Négrier
1e57028e6e Renaming changeTile to setTiles 2021-06-28 14:58:49 +02:00
David Négrier
319db95bc8 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2
# Conflicts:
#	front/src/Api/iframe/room.ts
2021-06-28 14:50:26 +02:00
GRL
b182a08ca2 correction from review 2021-06-28 09:33:13 +02:00
jonny
7f61e9addd Merge remote-tracking branch 'remotes/upstream/develop' into tiles-start-positions 2021-06-25 18:14:40 +02:00
GRL
4903911d62 Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-24 11:33:29 +02:00
jonny
d1178b1a01 immutableData was never assigned 2021-06-23 20:19:38 +02:00
jonny
5472d220ba added trigger message code 2021-06-23 17:32:32 +02:00
GRL
95d8cf9257 Change requested 2021-06-23 14:54:06 +02:00
GRL
24cc340cb9 Merge branch 'metadataScriptingApi' of github.com:thecodingmachine/workadventure into metadataScriptAPIV2 2021-06-23 12:02:29 +02:00
GRL
bdb32a29e1 New methods refactored 2021-06-23 11:32:11 +02:00
GRL
85fe92f604 Merge branch 'menu-commands-apiref' of github.com:jonnytest1/workadventure into metadataScriptingApi 2021-06-23 09:18:20 +02:00
GRL
be23db5bcf Resolve import and LoadPageEvent issue 2021-06-22 16:07:31 +02:00
GRL
ca3f5c599a Merge branch 'develop' of github.com:thecodingmachine/workadventure into metadataScriptingApi 2021-06-22 14:00:19 +02:00
jonny
64a00481f0 fixed wrong import 2021-06-21 18:39:02 +02:00
jonny
ba1bcf226a menu command api 2021-06-21 18:22:31 +02:00
David Négrier
6101548d89 Fixing bug where only one chat listener can be added. 2021-06-21 13:47:07 +02:00
David Négrier
620bd1ab2c Splitting classes in separated files 2021-06-21 12:26:12 +02:00
David Négrier
9129ceede1 Improving refactoring of API following @jonnytest1 feedback 2021-06-21 11:48:39 +02:00
David Négrier
34dc5a0bc6 Refactoring WorkAdventureAPI.
Simplifying a lot what was done (even if the new code is a bit less automated, it allows to list exactly the methods we want to see deprecated and to add a notification message)
2021-06-18 17:22:56 +02:00
jonny
702f4fe4c0 converted goToRoom to typed call 2021-06-17 11:32:59 +02:00
jonny
318749e5a8 develop merge 2021-06-17 11:30:16 +02:00
David Négrier
f6554a1082 Merge branch 'develop' of github.com:thecodingmachine/workadventure into iframe-api-refactor
# Conflicts:
#	front/src/iframe_api.ts
2021-06-17 11:23:56 +02:00
jonny
238f333b81 Merge remote-tracking branch 'remotes/workadventure-main/develop' into load-page-api
# Conflicts:
#	front/src/Api/Events/IframeEvent.ts
#	front/src/Api/IframeListener.ts
#	front/src/Phaser/Game/GameScene.ts
#	front/src/iframe_api.ts
2021-06-15 15:05:49 +02:00
David Négrier
b03ee5bd53 Fixing scripting origin check
When working on making the openCoWebsite URL relative, we introduced a regression.
In production, the iframe generated by "script" properties have no "src" and therefore, were treated as invalid messages.

This should fix everything in prod.
2021-06-07 16:48:52 +02:00
jonny
dab3f1f844 removed zoned popups 2021-06-03 22:01:42 +02:00
GRL
858a513569 correction of adding custom menu
correction of setProperty
updating CHANGELOG
updating api-reference
2021-05-28 12:13:10 +02:00
jonny
8a1376e966 refactored to key based types 2021-05-28 02:28:11 +02:00
jonny
5fd82c1188 minor cleanup 2021-05-28 01:50:58 +02:00
jonny
ab631c5dc4 register callbacks
should be done now
2021-05-28 01:46:08 +02:00
jonny
fd5b598b63 Bubble [WIP] (still need to do the javascript part) 2021-05-28 01:18:00 +02:00
jonny
540e5783b6 cowebsite
navigation
sound
player
extraction
2021-05-28 01:14:10 +02:00
jonny
6a90655c44 Merge branch 'develop' of https://github.com/thecodingmachine/workadventure into iframe-api-refactor 2021-05-28 00:52:42 +02:00
jonny
cbe93d7164 [WIP] fixed cherry pick conflicts 2021-05-28 00:34:40 +02:00
jonny
2de2d114a1 added typedef for subobject types
extracted popup functions

# Conflicts:
#	front/package-lock.json
#	front/package.json
#	front/src/iframe_api.ts
2021-05-28 00:30:51 +02:00
jonny
1a1ab30574 extraction idea
# Conflicts:
#	front/src/Api/ScriptUtils.ts
#	front/src/iframe_api.ts
2021-05-28 00:29:21 +02:00
GRL
6dcb0d3750 first step to change tile 2021-05-27 17:06:39 +02:00
GRL
9cd3ff1d31 Merge branch 'correct-merge' into metadataScriptAPIV2 2021-05-27 10:16:00 +02:00
GRL
acbe4f89a6 Merge branch 'update-game-tiles' into correct-merge 2021-05-27 09:45:25 +02:00