Commit Graph

1219 Commits

Author SHA1 Message Date
Hanusiak Piotr
68c4a5f5ce different approach 2022-01-27 14:05:30 +01:00
Hanusiak Piotr
2781b72799 wip with handling outlines for activitable objects 2022-01-26 17:14:22 +01:00
Hanusiak Piotr
b88ebbdf08 update distance values on remotePlayer movement 2022-01-26 15:38:08 +01:00
Hanusiak Piotr
dbd06bda4e changing the way Outline is handled 2022-01-26 14:59:23 +01:00
Hanusiak Piotr
f42c7564b9 call activate() method on space key up 2022-01-26 13:16:52 +01:00
Hanusiak Piotr
3af6461c01 Activatable objects handling WIP 2022-01-26 12:57:10 +01:00
Hanusiak Piotr
5ae039b987 little cleanup 2022-01-26 10:54:51 +01:00
Hanusiak Piotr
06d403ebe3 simplify actionsMenu 2022-01-26 10:40:13 +01:00
Hanusiak Piotr
58227a39f8 destroy actionsMenu on RemotePlayer destroy() 2022-01-25 17:13:52 +01:00
Hanusiak Piotr
88f3032298 do not move player if clicked on Player or RemotePlayer. Close actionsMenu on second click 2022-01-25 15:47:21 +01:00
David Négrier
ef2f8b141f
Merge pull request #1743 from thecodingmachine/move-to-from-hash-parameter
Move to from hash parameter
2022-01-25 14:12:26 +01:00
Hanusiak Piotr
67627637aa added store with actions for actionsMenu 2022-01-25 13:42:41 +01:00
Hanusiak Piotr
69a2379e53 Merge branch 'develop' into feature-options-menu 2022-01-25 10:33:30 +01:00
Alexis Faizeau
2312d2e129
Merge pull request #1629 from thecodingmachine/translator
Translator: i18n
2022-01-25 09:48:48 +01:00
Alexis Faizeau
446b4639c7 Implement typesafe-i18n 2022-01-24 18:59:28 +01:00
Hanusiak Piotr
b5887bceb4 PR fixes 2022-01-24 17:03:14 +01:00
Alexis Faizeau
4829964127 Display correctly the username on Brave browser 2022-01-24 16:55:58 +01:00
Hanusiak Piotr
3cc38e6bbe Merge branch 'develop' into move-to-from-hash-parameter 2022-01-24 16:31:03 +01:00
Hanusiak Piotr
fd012d6c69 ActionsMenu WIP 2022-01-24 16:27:57 +01:00
David Négrier
d8327d1b72
Apply suggestions from code review
Fixing missing return attribute in doc
2022-01-22 22:20:41 +01:00
David Négrier
51c3f1d972 Refactoring translator to use "_" instead of "translator._".
This is shorter and pollutes less the code.
2022-01-21 17:09:29 +01:00
Nolway
bd01a35cc6 Add en-US translations 2022-01-21 17:09:29 +01:00
Nolway
41ef9fd49f Replace cookie by local storage to store language 2022-01-21 17:09:29 +01:00
Nolway
8286cdd41d Add WA.player.language in the API 2022-01-21 17:09:29 +01:00
Nolway
8a2767ef40 Implement Translator: i18n system 2022-01-21 17:09:29 +01:00
Hanusiak Piotr
e87c0a07a4 moveTo parameter working if layer is found 2022-01-20 15:10:54 +01:00
Hanusiak Piotr
bf6b9a7c83 do not call joystick logic if not on mobile 2022-01-20 09:39:41 +01:00
Hanusiak Piotr
62b00f852d throw an exception if no path found when using player.moveTo command. Cancelling path following no longer rejects the promise 2022-01-19 17:22:28 +01:00
Hanusiak Piotr
8f40e7a33c reject path following path promise if interrupted 2022-01-19 14:16:05 +01:00
Hanusiak Piotr
c023c4f8fd optional following path movement speed 2022-01-19 13:53:06 +01:00
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