Commit graph

1189 commits

Author SHA1 Message Date
Hanusiak Piotr 9b94705177 manually resolve promise on certain events for player path following 2022-01-19 13:09:17 +01:00
Hanusiak Piotr f78392ceab Pathfinding manager will now return path steps in pixel units by default 2022-01-19 12:30:08 +01:00
Hanusiak Piotr f96eac4737 Merge branch 'walking-shortest-path' into feature-move-character-api 2022-01-19 10:54:19 +01:00
Hanusiak Piotr 9e5d8f5d9c cr fixes 2022-01-19 10:37:56 +01:00
Hanusiak Piotr 29e44d3023 Player move API wip 2022-01-19 09:34:06 +01:00
Hanusiak Piotr 1c4e803dd7 move to the nearest tile if possible 2022-01-18 12:33:46 +01:00
Hanusiak Piotr 67cd0dfb29 disable context menu. Move player only on left-click 2022-01-18 11:18:52 +01:00
Hanusiak Piotr 391fe7eed3 for pathfinding we are now taking into consideration all tiles, looking for 'collides' property 2022-01-18 10:26:40 +01:00
Hanusiak Piotr 7576cea7e0 removed obsolete comments. Pass path as reference 2022-01-17 16:11:08 +01:00
Hanusiak Piotr 3e81278e72 proper player movement on click 2022-01-17 16:04:59 +01:00
Hanusiak Piotr e557e8ea72 player following the path wip 2022-01-17 14:36:00 +01:00
Hanusiak Piotr 77ee39110f handle pointerup event 2022-01-17 11:52:02 +01:00
Hanusiak Piotr 28543be121 Player class is no longer dependent on UserInputManager 2022-01-17 11:37:28 +01:00
Hanusiak Piotr 173d10738d created interface to implement for UserInputManager 2022-01-17 11:16:42 +01:00
Hanusiak Piotr 000b2cfe73 created PathfindingManager. WIP 2022-01-14 12:49:18 +01:00
David Négrier 82c2d21423
Merge pull request #1654 from thecodingmachine/feature-camera-management
Feature camera management
2022-01-14 11:57:05 +01:00
Hanusiak Piotr 7ee41bad30 change setViewport action to set for CameraAPI 2022-01-14 11:41:37 +01:00
Hanusiak Piotr 17e9c3c586 handle instant camera view change 2022-01-14 11:31:49 +01:00
Hanusiak Piotr c2b2385e96 Camera now centers on focusable zone properly 2022-01-13 18:54:38 +01:00
Hanusiak Piotr a164cedf3f Camera FocusTarget width and height are now optional 2022-01-13 16:43:58 +01:00
Hanusiak Piotr d99930a67e save last zoom value if setting the camera viewport without locking it 2022-01-13 16:17:49 +01:00
Hanusiak Piotr d62b116e5d merge setPosition and focusOn into setViewport 2022-01-13 16:08:16 +01:00
David Négrier 57d2dec756
Merge pull request #1724 from thecodingmachine/master
Backport fix 2022-01-13
2022-01-13 15:59:54 +01:00
Hanusiak Piotr a1c96b0524 merged develop 2022-01-13 10:44:06 +01:00
David Négrier 9425fd70c0 Adding a new property to prevent script from being loaded in "modules" mode
Scripts in module mode need to be abide by the Same Origin Policy (CORS headers are used to load them)
This can cause issues on some setups.

This commit adds a new "scriptDisableModuleSupport" that can be used to disable the "modules" mode.

Closes #1721
2022-01-12 17:36:31 +01:00
Hanusiak Piotr 905bd079ec camera is now properly focusing on target when zooming, if any 2022-01-12 12:58:27 +01:00
Hanusiak Piotr 58af1f05f7 unlocking zooming with a delay when entering / leaving focusable zone 2022-01-12 12:08:11 +01:00
David Négrier 787cc508b8
Merge pull request #1708 from thecodingmachine/fix_firefox_private_browsing
Fixing WA crashing in Firefox private mode
2022-01-06 11:57:12 +01:00
David Négrier d713c82568 Fixing WA crashing in Firefox private mode
Due to the way we now handle the browser cache, previously ignored errors in the Cache API were now explicitly thrown, preventing the loading of Firefox in private mode.
This commit fixes the issue and improves the stacktrace display of errors at the same time.
2022-01-06 11:55:43 +01:00
David Négrier ab0f5e9837 Stopping sending literal errors
Errors now must be of "Error" type.
Rule added in eslint.
2022-01-06 10:52:06 +01:00
David Négrier 24baf5664c All promises are now handled 2022-01-04 17:06:29 +01:00
David Négrier bade2b41b6
Merge pull request #1693 from jonnytest1/patch-2
added columns type definition
2022-01-04 08:57:46 +01:00
David Négrier 4eb2ebd034
Merge pull request #1680 from workadventure-xce/fix/follow-via-keyboard
Fix follow requests via keyboard
2022-01-03 18:24:03 +01:00
David Négrier fb69476b97
Merge pull request #1698 from thecodingmachine/ts-proto
Migrating front protobuf encode/decode to ts-proto lib
2022-01-03 18:07:19 +01:00
David Négrier b0ee4fc633
Merge pull request #1696 from ngc4622/iframe-division-by-zero
ScaleManager: do not apply new size if width is zero
2022-01-03 16:01:01 +01:00
David Négrier bf070c33b5 Migrating front protobuf encode/decode to ts-proto lib
The ts-proto lib has the huge advantage of producing code the "Typescript" way and not the "Java" way.
In particular, for "oneof" types in protobuf, it is generating "ADT" that can be used to check if we forgot or not to deal with a type.
2022-01-03 15:52:46 +01:00
Benedicte Quimbert ac27ab7e3e Revert "WIP enable/disable tutorial according to the map 'tutorial' property"
This reverts commit 47a6710b60e3856bf57c0700fe33bec95c6fc6dd.
2022-01-03 11:45:47 +01:00
Benedicte Quimbert d9482d484b WIP enable/disable tutorial according to the map 'tutorial' property 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 3abc571e79 Corrects scale managing and camera event listening 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 2a7c8f3786 Reverts adding scale to the camera updated event and uses it directly from the website manager 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 1e073d8a0e Refactoring and documentation update 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 4356767739 Adds the camera to available APIs with retrieving of the worldView 2022-01-03 11:45:47 +01:00
Benedicte Quimbert d672a2dead WIP API updates for tutorial and more 2022-01-03 11:45:47 +01:00
Benedicte Quimbert c53f0c6c8c Fixes deleting SharedVariablesManager's close() function 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 516d756db1 Uses the current player position rather than the starting one to position iframe 2022-01-03 11:45:47 +01:00
Benedicte Quimbert 3490daed6b Creates player state and uses it to get and set values from local storage 2022-01-03 11:45:47 +01:00
Benedicte Quimbert e025c1dc8e Allows to read and write "Player properties" from LocalStorage 2022-01-03 11:45:47 +01:00
Tobias Tefke 0603d08572 ScaleManager: do not apply new size if width is zero
If the game width reaches zero (e.g by resizing a cowebsite manually),
a division by zero happens when calculating the new zoom.
This results in NaN, which causes phaser to reach an invalid state when rezooming.
2022-01-03 09:09:21 +01:00
jonnytest1 8cdbf382ad
added columns type definition 2021-12-31 15:55:17 +01:00
PizZaKatZe 5460bd49be Fix follow requests via keyboard 2021-12-31 15:35:21 +01:00
David Négrier 36ce4f8f29
Merge pull request #1664 from Chasethechicken/layers
Add missing layer properties
2021-12-24 16:10:15 +01:00
David Négrier d37165219c Migrating followStates and followRoles from a const object to a type restricted to only the string values allowed.
This allows for more secure code (compilation checks) and simpler code too (we can pass strings instead of const values)
2021-12-24 15:49:25 +01:00
David Négrier 524339a3a0 Adding hightlight to player names when they follow each others 2021-12-23 18:07:51 +01:00
David Négrier 368a115b4c Merge branch 'develop' of github.com:thecodingmachine/workadventure into feat/follow-woka 2021-12-23 16:04:59 +01:00
David Négrier 9efa115982 Merge branch 'master' of github.com:thecodingmachine/workadventure into develop 2021-12-23 11:04:20 +01:00
David Négrier 35463930a0 Sending color outline on connect 2021-12-23 10:22:19 +01:00
David Négrier 482ba9690a Sharing outline color changes in real time 2021-12-22 18:34:36 +01:00
Chasethechicken 6cae134c8f Fix indentation
To make prettier happy
2021-12-22 10:13:26 +01:00
Chasethechicken 1ea7b45c7e Fix misplaced semicolon 2021-12-21 23:26:15 +01:00
David Négrier 90f7287860 Adding the ability to set the player's color outline via the scripting API
(currently not shared with the other players yet)
2021-12-21 17:02:53 +01:00
Chasethechicken 6f4fe47808 Add missing layer properties
Enables map makers to set the alpha, visibility, origin and size of layers.

Co-authored-by: jonny <ga86lad@mytum.de>
2021-12-21 11:31:14 +01:00
PizZaKatZe 50147db895 Block running in follow mode 2021-12-20 13:36:29 +01:00
PizZaKatZe 21b1313a18 Get rid of buggy open state 2021-12-20 12:50:43 +01:00
Lurkars 3916d9c58e Add follow button to ui, improved flow 2021-12-20 11:35:06 +01:00
Lurkars 2cd088c049 Change follow request to "F" button, use nes-css buttons 2021-12-18 11:58:30 +01:00
Hanusiak Piotr f8353bd7b5 send camera update event from CameraManager 2021-12-17 11:05:11 +01:00
David Négrier b2bcfde5b1 Merge branch 'develop' of github.com:thecodingmachine/workadventure into upgrade_typescript_4.5 2021-12-16 16:07:17 +01:00
Hanusiak Piotr 4ebc55a429 subtle changes in CameraManager in order to distinguish between setPosition and focusOn 2021-12-16 14:31:26 +01:00
Hanusiak Piotr 5f26a39a5d added basic WA.camera commands 2021-12-16 13:41:28 +01:00
David Négrier 98d3a58861 Improving typings of VirtualJoystick 2021-12-16 10:04:55 +01:00
PizZaKatZe e3e7fba539 Rename InteractMenu/-Store => FollowMenu/-Store 2021-12-15 18:50:59 +01:00
PizZaKatZe 2bd71790b5 Use user IDs instead of names 2021-12-15 18:42:24 +01:00
PizZaKatZe 1ab8165951 Process input events in follow mode as well 2021-12-15 18:42:24 +01:00
PizZaKatZe 290e5131e9 Clean up follow implementation; stop following when leader leaves the scene 2021-12-15 18:42:24 +01:00
PizZaKatZe 0a410d289d Implement follow request / confirmation UI 2021-12-15 18:42:22 +01:00
PizZaKatZe e7f1395809 Stop before running into followed Avatar; stop sprite animation 2021-12-15 18:36:12 +01:00
danb 372dda792f Fix issue of interrupted conversation in follow-mode 2021-12-15 18:36:12 +01:00
danb 7c7144527c Add minimum distance to enable following 2021-12-15 18:36:12 +01:00
danb f340e8114d Implement automatic following of other players.
* initiate following by reacting to the interact event
* subscribe to remote player and update positions in relation to them
  instead of reacting to user input
* cancel following if the user moves actively again
2021-12-15 18:36:12 +01:00
Hanusiak Piotr 99ffb7b450 merged develop 2021-12-15 15:23:21 +01:00
David Négrier ea7fc62c00 Merge branch 'feature-picture-of-user' into feature-picture-of-user-merge 2021-12-14 16:06:35 +01:00
David Négrier 8efeab97c6 Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature-picture-of-user-merge 2021-12-14 15:50:24 +01:00
David Négrier 0a705eadf9
Merge pull request #1616 from Waclaw-I/feature-camera-zone-focus
Focusable zones
2021-12-14 15:43:45 +01:00
David Négrier 0e68490e75 Refactoring with a MapStore
A great deal of the complexity of the current code is that we must chain
2 reactive values (one in the map "GameScene.MapPlayersByKey" and one in
the snapshot store).

The new generic MapStore class can be used to listen to stores inside a map.
When the store inside the map, or the map itself is modified, the
resulting store is updated.
2021-12-14 14:47:25 +01:00
Hanusiak Piotr 960c247b20 added documentation for Focusable Zones 2021-12-14 12:03:05 +01:00
Hanusiak Piotr 0f1378c069 PR fixes 2021-12-14 10:28:41 +01:00
David Négrier 8a96ff8ee4
Merge pull request #1614 from ValdoTR/user-room-token
Added the user-room token created from admin when we access a room
2021-12-13 17:50:49 +01:00
Valdo Romao 592e07bc4f Fixed linter errors 2021-12-13 16:19:47 +00:00
Hanusiak Piotr bbe539b785 moved gettingSnapshot logic into TexturesHelper 2021-12-10 12:02:14 +01:00
David Négrier 7a6e250a58 Fixing map caching
Maps in the GameScene can be modified by the scripting API.
If so, previously, the changes to the maps were persisted in the ITiledMap object in the GameScene because this was cached by the Phaser loader,
causing a series of problems, the most noticeable being that templating in the scripting API stopped working on a second visit of a page.

We are now deep-copying the map on load to avoid these nasty effects.

Closes https://github.com/workadventure/scripting-api-extra/issues/77
2021-12-08 14:23:00 +01:00
Hanusiak Piotr b12fb228af fixed typos 2021-12-08 13:25:54 +01:00
Hanusiak Piotr 4d473480cf enter and leave zone events 2021-12-08 13:18:06 +01:00
Hanusiak Piotr 03cf5c05ff added zoom_margin optional property for zone definition 2021-12-08 13:03:25 +01:00
Hanusiak Piotr 082b33cf02 more subtle zone leaving camera work 2021-12-08 11:31:49 +01:00
Hanusiak Piotr 957ba8f8c7 more subtle start follow player by camera. wip 2021-12-07 17:03:51 +01:00
Hanusiak Piotr 8eaacdf2e5 companion pictures store 2021-12-07 16:37:24 +01:00
Hanusiak Piotr e62ad6b9c9 merged develop 2021-12-07 13:56:28 +01:00
Hanusiak Piotr e97fd1d38c Merge branch 'develop' into feature-camera-zone-focus 2021-12-07 13:20:15 +01:00
Hanusiak Piotr 29ccb52c93 cleanup 2021-12-07 13:18:36 +01:00
Hanusiak Piotr b00d24dbf7 refocusing on target (if any) in case of an external resize 2021-12-07 12:48:08 +01:00
PizZaKatZe d49d44d7ea New setting: Always ask before opening cowebsites / Jitsi meetings 2021-12-06 23:25:25 +01:00
Benedicte Quimbert 4b4f5520db Corrects scale managing and camera event listening 2021-12-06 18:44:37 +01:00
David Négrier 84f7a8c383 Pretty fix 2021-12-06 18:20:06 +01:00
David Négrier 44c4b4fc34 Fixing error handling of fonts when there is no connection to front 2021-12-06 15:14:38 +01:00
Hanusiak Piotr 4bc21a95c5 ran prettier 2021-12-04 17:11:49 +01:00
Hanusiak Piotr a1a83775d6 issues with zone triggering fixed 2021-12-04 17:11:49 +01:00
Hanusiak Piotr 37949eda53 working with zoom modifier calculating per zone 2021-12-04 17:11:49 +01:00
Hanusiak Piotr ddaa81a7ac some more tweaks with smooth zooming control 2021-12-04 17:11:49 +01:00
Hanusiak Piotr 092daa245f locking zooming via player input 2021-12-04 17:11:49 +01:00
Hanusiak Piotr ef3a7513e2 camera zoom using scaleManager zooming. WIP 2021-12-04 17:11:49 +01:00
Hanusiak Piotr eb95e2e483 detecting zoe enter and leave events 2021-12-04 17:11:49 +01:00
Hanusiak Piotr 8016cf3c1a fallback in case of CanvasRenderer 2021-12-04 16:29:28 +01:00
Hanusiak Piotr ed8d6855b1 fixed bug with woka picture snapshot taking current frame and not front 2021-12-04 15:36:11 +01:00
Hanusiak Piotr 642d3bb301 Changed the way WOKA's are stored 2021-12-04 15:36:11 +01:00
Hanusiak Piotr 2ea54fd243 use Prettier to fix style issues 2021-12-04 15:36:11 +01:00
Hanusiak Piotr 913a07350d little cleanup, added reject for Character snapshot 2021-12-04 15:36:11 +01:00
Hanusiak Piotr f4ce82481e avatar as a menu button 2021-12-04 15:36:11 +01:00
Hanusiak Piotr b8eeb3c8ab saving players avatar textures to the texturesManager 2021-12-04 15:36:11 +01:00
David Négrier 411ee251ff Improving URL displaying of failed Axios request 2021-12-03 22:02:19 +01:00
David Négrier 487b8317e7 Adding stacktrace to error message in console 2021-12-03 21:58:08 +01:00
David Négrier ebcfc069bc More details in the error 2021-12-03 21:45:25 +01:00
David Négrier 8b21ba5383 Improving Axios error logging 2021-12-03 20:55:46 +01:00
David Négrier f90bd85ded Improving error reporting and adding Video reports 2021-12-03 19:54:34 +01:00
David Négrier c89afba6cd Working on more tests 2021-12-03 15:21:31 +01:00
David Négrier 78ee4009c8 Improving tests, WIP 2021-12-03 09:28:30 +01:00
Valdo Romao dd79f7d0f4 Added the user-room token created from admin when we access a room 2021-12-01 15:50:14 +00:00
Benedicte Quimbert 7eda8a45a7 Reverts adding scale to the camera updated event and uses it directly from the website manager 2021-11-26 14:46:02 +01:00
Benedicte Quimbert f761858328 Refactoring and documentation update 2021-11-25 10:56:43 +01:00
Benedicte Quimbert 5b6a8ca4d7 Adds the camera to available APIs with retrieving of the worldView 2021-11-25 10:56:42 +01:00
Benedicte Quimbert 99dfd77600 WIP API updates for tutorial and more 2021-11-25 10:55:54 +01:00
Benedicte Quimbert 353577b1d7 Fixes deleting SharedVariablesManager's close() function 2021-11-25 10:55:54 +01:00
Benedicte Quimbert a22c2a09b8 Uses the current player position rather than the starting one to position iframe 2021-11-25 10:55:54 +01:00
Benedicte Quimbert bf69b55e99 Creates player state and uses it to get and set values from local storage 2021-11-25 10:55:54 +01:00
Benedicte Quimbert 89cd292527 Allows to read and write "Player properties" from LocalStorage 2021-11-25 10:55:54 +01:00
Gregoire Parant 060c844468 Fix htag in localstorage
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-24 19:24:43 +01:00
David Négrier 257162c451 Fixing prettier 2021-11-24 17:02:11 +01:00
David Négrier 6e6cdc7bde
Revert "Improving log messages" 2021-11-24 16:20:07 +01:00
David Négrier 6c5f330b71
Merge pull request #1584 from thecodingmachine/fixes
Fixes
2021-11-24 15:55:33 +01:00
Alexis Faizeau 5c3036e18b Display a default skin on remote player entity 2021-11-24 15:43:01 +01:00
David Négrier 07ba532c5e Prettier fixes on front 2021-11-24 15:31:17 +01:00
David Négrier 9b29fde1b3 Merge branch 'develop' of github.com:thecodingmachine/workadventure into pretty_ci_front_fix 2021-11-24 15:30:29 +01:00
David Négrier dc58f16418
Merge pull request #1582 from thecodingmachine/end-to-end-tests
Making the loader resizable
2021-11-24 15:30:15 +01:00
David Négrier 2cbf5b56af Fixing linting 2021-11-24 15:29:12 +01:00
David Négrier 7c6105d93a Making the loader resizable
This way, if the window is resized while loading, the loading bar will stay in the middle
2021-11-24 15:21:07 +01:00
Alexis Faizeau 24640d13bb Fix removing of co-website action trigger 2021-11-24 14:50:19 +01:00
Alexis Faizeau 4ca763c028 Fix tab index on embbed iframes 2021-11-24 11:05:18 +01:00
Gregoire Parant ecc6321e17 Add new action post hog
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-18 11:39:56 +01:00
Gregoire Parant 8768374460 HotFix connexion manager
Signed-off-by: Gregoire Parant <g.parant@thecodingmachine.com>
2021-11-16 13:14:40 +01:00
Alexis Faizeau 624593e425 Implement twemoji on emote 2021-11-10 16:55:20 +01:00
Alexis Faizeau 5a3d510f05 Create GameMapProperties index 2021-11-02 10:52:25 +01:00