Commit Graph

2094 Commits

Author SHA1 Message Date
e5629e2a1b Store the owner UserManager in User as an ObjectID. 2025-05-11 18:49:11 +02:00
704cea8354 Docs for the new methods. 2025-05-11 18:42:47 +02:00
066e88e336 Store the owner UserManager in User. 2025-05-11 18:37:59 +02:00
5c752900dd Docs for UserManager. 2025-05-11 18:25:38 +02:00
31dd5d436c Print an error if more than one UserManagers are trying to become the global instance. 2025-05-11 14:57:18 +02:00
a2309aa272 Now UserManagers have a register_as_global property. A manager will only try to set itself as the global manager if it's set to true (default). 2025-05-11 14:51:57 +02:00
4016579f23 Docs for UserDB. 2025-05-11 14:29:22 +02:00
272aeb775d Don't use the changed signal to get a User to save itself. 2025-05-11 14:23:39 +02:00
b770c07a32 Always just defer call to the active UserManager or error in UserDB.
- Having an optional separate User list in UserDB when there is no
UserManager can lead to subtle bugs, so it got removed.
- It also had other limitations, like it was not possible to setup Users
properly, which could also lead to subtle bugs.
2025-05-11 14:10:32 +02:00
d8aa3140e1 Removed unused enum from User.
Note that WebPermission had the same enum if needed.
2025-05-11 11:53:15 +02:00
ebab8f1e0c Docs for the User class. 2025-05-11 11:50:32 +02:00
b438b2b35a Improve comment. 2025-05-11 11:50:20 +02:00
da142951ec Re-extracted class docs. 2025-05-11 08:49:52 +02:00
7c109ad4a0 Added read_try_lock and write_try_lock to User and UserModule. 2025-05-11 08:48:41 +02:00
516236de23 Added some comments to User. 2025-05-11 08:42:32 +02:00
0b56f22f87 Use module names instead of indexes if they are available in User::_from_dict() and User::_to_dict(). 2025-05-11 08:26:55 +02:00
abd7a0660e Write and read lock modules in User::_to_dict() and User::_from_dict(). 2025-05-11 08:20:07 +02:00
0e79057d11 Guard against bad indexes in User::_from_dict(). 2025-05-04 20:24:42 +02:00
f59632a7d3 Disabled integer division and unused signal warnings by default in gdscript. 2025-05-04 09:28:49 +02:00
ebd3280443 Automatically load sessions when HTTPSessionManagerFile enters tree. 2025-05-03 22:21:03 +02:00
45f2f77a58 Re-extracted class docs. 2025-05-03 22:12:14 +02:00
d36950fecb Added a new HTTPSessionManagerFile class. 2025-05-03 22:11:37 +02:00
8978925b2f Added serialization helper methods to HTTPSession. 2025-05-03 22:09:44 +02:00
5aa9a0db10 Hode session_id and id in HTTPSession. 2025-05-03 21:19:29 +02:00
7937fb6cae Disable internal process for UserManagerFile. It's not needed anymore. 2025-05-03 21:11:41 +02:00
3894d36ad3 Fix User::_from_dict() using wrong dictionary keys. 2025-05-03 20:53:47 +02:00
0927580e78 Fix saving files in UserManagerFile. 2025-05-03 20:51:16 +02:00
7ef5b152bc Fix calling the new _create_user() method in UserManager. 2025-05-03 20:41:28 +02:00
e9e2e72665 Now UserManager::_create_user() has a User as a parameter.
This shoukld make it easier to customize user creation. Similar idea to
how TerrainWorld's _create_chunk() works.
2025-05-03 20:25:32 +02:00
ca1f9c7674 Improved UserManagerFile's internals. 2025-05-03 20:13:52 +02:00
fd13bb3c51 Now get_all_as_vector() in UserManager is not virtual anymore. Also removed other implementations.
- This had to be done as get_all_as_vector() cannot be customized by
scripts, and if an inherited UserManager needs to set up UserModules
this will cause issues later down the line.
- Other solutions like a user_setup() method could also work, but then
that would cause more individual (non-optimizable) lookups to db-based
backends (and likely others too), so this solution seems to be the best
currently.
2025-05-03 17:07:24 +02:00
8a1981d1b8 Fix calling the wrong method in UserManager. 2025-05-03 16:57:34 +02:00
556de2db50 TerrainChunkDefault lod change code cleanups and improvements. Also set scenario on entering and exiting the tree. 2025-04-18 20:22:17 +02:00
61a43daa45 Removed unnecessary check. 2025-04-18 20:21:09 +02:00
64696b534b Don't destroy and re-generate meshes in TerrainChunk's _enter and _exit_tree, just hide / show them. This makes scene tab swithing with TerrainWorlds in the editor a lot simpler. 2025-04-18 19:50:17 +02:00
ae18822f95 Added PropDataESSEntityWorldSpawner3D class. Made PropDataESSEntityWorldSpawner3DArea and PropDataESSEntityWorldSpawner3DSingle inherit from it. 2025-04-18 13:28:10 +02:00
7681d71704 Temporary comments. 2025-04-15 10:32:31 +02:00
526209c1a4 Re-extracted class docs. 2025-04-15 10:19:14 +02:00
52d17cacd2 Added prop support for PropDataESSEntityWorldSpawner3DArea. 2025-04-15 10:18:20 +02:00
9c3ac7c4f8 Added prop support for ESSEntityWorldSpawner3DSingle. 2025-04-15 10:03:21 +02:00
1d37a1cf28 Fix drawing line colors in WorldSpawner3DSpatialGizmoPlugin. Also better colors. 2025-04-14 18:40:16 +02:00
d03decb983 Fix the spawn position line height in WorldSpawner3DSpatialGizmoPlugin. 2025-04-14 18:16:36 +02:00
bdda27e116 Fix drawing the spawn slots in ESSEntityWorldSpawner3DArea's gizmo. 2025-04-14 18:16:13 +02:00
df9be4f17d Implemented spawn entry editing to ESSEntityWorldSpawner3DArea. 2025-04-14 16:30:55 +02:00
2a249c8f25 ESSEntityWorldSpawner3DArea initial implementation. 2025-04-14 16:08:44 +02:00
12eade8158 Fix the type of the respawn time properties in ESSEntityWorldSpawner3DSingle. 2025-04-14 16:07:50 +02:00
c59cf944c2 Zero out the entity's ObjectID in ESSEntityWorldSpawner3DSingle when exiting tree. 2025-04-14 14:40:27 +02:00
48d68c0896 Renamed the level property to entity_level in ESSEntityWorldSpawner3DSingle. 2025-04-14 14:39:36 +02:00
a61442d567 Added spawn_area_extents property to ESSEntityWorldSpawner3DArea and implemented an editor gizmo for it. 2025-04-14 13:50:31 +02:00
79f54f71bf Don't use octahedral compression in the prop module's gizmos. 2025-04-14 13:49:29 +02:00