Commit Graph
54 Commits
Author SHA1 Message Date
83c2a1be11 [Dependency] source generator part 2 (#6550)
* [Dependency] source generator

No more reflection, no more codegen at runtime

Also various changes to Roslyn helpers to make this easier to write.

Requires all types with dependencies to be partial and not have readonly dependency fields. An analyzer enforces this at warning level, the previous injection strategies have remained in the code *for now* as a fallback.

No fallback is available for [field: Dependency] properties, due to a Roslyn bug.

Code Fixes exist. We love Roslyn

* Apply dependencies generator changes to all code

* Release notes

* Preprocessor got hands

* Handle nullable dependencies

These are bad but gotta deal with it.

* Apply suggestions from code review

Co-authored-by: Moony <moony@hellomouse.net>

* Fine, let's not use collection expressions

---------

Co-authored-by: Moony <moony@hellomouse.net>
2026-05-08 12:38:33 +02:00
DrSmugleafandGitHub cb384b8242 Make VV work with structs in components (#6377)
* Make VV work with structs in components

* Fix missing imports
2026-01-19 20:41:24 +01:00
Perry FraserandGitHub 0bf4123b8d feat: Add VV editor for tuples (#6065)
* feat: Add VV editor for tuples

* refactor: make tuple editor work in more cases

* feat: support other arity tuples

* fix: correct release notes entry

* refactor: use a new index selector for tuples

Also yank out silly unused code.

* fix: make all non-ValueTuples readonly

* refactor: spell out ValueTuple arities

,,,,,,,,,,,,,,,,,,,,,
2025-07-22 22:31:19 +02:00
Pieter-Jan Briers 59ed76c66f Remove obsolete usages of *Variant prototype manager functions
Replaced with *Kind
2024-08-13 11:45:40 +02:00
metalgearslothandGitHub 4460454563 Implement sound VV (#4966)
* Implement sound VV

No params yet because I'm lazy but paths and collections work.

* Fixes

* rn

* review
2024-03-24 16:59:40 +11:00
Pieter-Jan Briers 538418ea93 Fix exception when VVing non-networked components
The VV code forcibly dirties all components, which trips an assert for non-networked components.
2024-01-07 04:22:38 +01:00
Pieter-Jan Briers 01df42aa8f Fix ICommonSession.ConnectedClient obsoletion warnings 2023-12-15 19:34:30 +01:00
Leon FriedrichandGitHub 5a6c4220fc IPlayerManager refactor (#4518) 2023-10-24 20:18:58 +11:00
DrSmugleafandGitHub f754ddb96d Remove all usages of obsolete Dirty method, remove some obsoleted methods (#4500) 2023-10-21 14:19:07 -07:00
Leon FriedrichandGitHub 16e68a4351 Make PVS session overrides recursive (#4480) 2023-10-11 13:16:00 +11:00
Leon FriedrichandGitHub bc5107e297 Misc NetEntity fixes for VV (#4390) 2023-09-15 10:11:28 +10:00
metalgearslothandGitHub 3fd731d917 Network entity ids (#4252) 2023-09-11 09:42:55 +10:00
Vera Aguilera PuertoandGitHub 596b8e5538 Remove static Logger usages from ViewVariables (#4128) 2023-06-10 00:06:44 +02:00
metalgearslothandGitHub b37f9e827c vv perm tweaks (#4026) 2023-05-14 10:33:28 +10:00
Leon FriedrichandGitHub d7d22d9cd4 Make VV auto-dirty components (#3969) 2023-04-29 19:28:47 +10:00
Pieter-Jan BriersandGitHub 6bdb7c040f Fix some warnings. (#3803) 2023-02-25 11:20:29 +11:00
metalgearslothandGitHub 884ac75e42 Remove Component.Name (#3711) 2023-01-19 13:57:41 +11:00
1646297039 Remove most static IoCManager. accesses from engine. (#3466)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-11-15 22:00:28 +11:00
Vera Aguilera PuertoandGitHub d404494018 ViewVariables Exorcism Part 1: Of paths and commands (#3214) 2022-10-14 19:03:44 +02:00
Paul dc72c6fe22 fix typo 2022-04-17 18:15:41 +02:00
Pieter-Jan Briers 45d906ba7e Deprecate CreateNetMessage<T>. 2022-04-15 18:47:42 +02:00
mirrorcultandGitHub 44cb135a1d Even shorter pretty-print type abbreviations for VV (#2735) 2022-04-15 09:15:10 +02:00
de4d255841 Analyzer to enforce classes to be either [Virtual], abstract, or sealed. (#2469)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-05 19:31:58 +01:00
MoonyandGitHub fad4c20da2 VV for entity systems. (#2447) 2022-01-25 13:29:17 +01:00
Vera Aguilera Puerto fb7a231b78 Fix VV crash 2021-12-08 13:33:21 +01:00
Vera Aguilera Puerto db996b9fb3 A bunch more resolves removed wooo 2021-12-08 11:37:11 +01:00
DrSmugleaf 163deff564 Fix 3000 errors 2021-12-05 18:13:33 +01:00
20kdc 7b6d9bd719 Susser Todd: Robust.Client/Robust.Server: Error Pass 1 2021-12-03 19:57:19 +00:00
Vera Aguilera Puerto 7a06db60cf Inline UID 2021-12-03 15:53:10 +01:00
Vera Aguilera Puerto ebca38b57a Inline one HasComponent overload 2021-12-03 12:18:21 +01:00
Vera Aguilera Puerto f44d797057 Inline GetAllComponents 2021-12-03 11:42:24 +01:00
Vera Aguilera Puerto 07542ff6eb Further IComponentManager warning cleanup. 2021-09-28 12:56:12 +02:00
05827d01d0 Datafield now implies readonly VVAccess (#1968)
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
2021-08-23 20:32:25 +02:00
DrSmugleafandGitHub ac1705e41f Make NetMessage name and group virtual to remove required boilerplate (#1770) 2021-05-31 08:53:46 +02:00
Vera Aguilera PuertoandGitHub 37401c26c9 Adds a custom editor for Prototypes to ViewVariables. (#1663)
Also improves VV a bit.
2021-03-30 15:33:15 +02:00
AcruidandGitHub 2183cd7ca1 Massive Namespace Cleanup (#1544)
* Removed the Interfaces folder.
* All objects inside the GameObjects subfolders are now in the GameObjects namespace.
* Added a Resharper DotSettings file to mark the GameObjects subfolders as not providing namespaces.
* Simplified Robust.client.Graphics namespace.
* Automated remove redundant using statements.
2021-02-10 23:27:19 -08:00
Vera Aguilera PuertoandGitHub df877582a6 You can now add or remove components from the comfort of ViewVariables (#1524) 2021-02-02 12:01:54 +01:00
b8e5b47e7a Use 'new' expression in places where the type is evident for the engine (#1415)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-11-26 00:16:55 +01:00
Pieter-Jan Briers 50311afe9f Group VV members lists by declaring type. 2020-10-13 13:43:50 +02:00
Pieter-Jan BriersandGitHub aa64528a03 Auth (#1289)
* Some stuff for auth

* Holy crap auth works

* Enable encryption even if no auth token is provided.

It's still possible that the public key was retrieved over HTTPS via the status API, in which case it will be secure.

* Fix integration test compile.

* Secure CVar API.

* Literally rewrite the auth protocol to be minecraft's.

* Better exception tolerance in server handshake.

* Auth works from launcher.

* Fix some usages of UserID instead of UserName

* Fix auth.server CVar

* Kick existing connection if same account connects twice.

* Username assignment, guest session distinguishing.

* Necessary work to make bans work.

* Expose LoginType to OnConnecting.

* Fixing tests and warnings.
2020-09-29 14:18:12 +02:00
Pieter-Jan Briers 5637669876 Allows VV to read KeyValuePair<,>s over the network.
This required a bit of refactorings and improvements but oh well.
2020-08-16 01:59:01 +02:00
Pieter-Jan Briers 6742290e91 Fix VVing enumerables. 2020-06-26 20:28:12 +02:00
Pieter-Jan BriersandGitHub 0d3cd41382 Enable NRTs on Robust.Server (#1118) 2020-06-09 14:18:29 +02:00
ComicIronicandGitHub 4b50b151fe Minor improvements to printing in VV (#1041) 2020-05-02 00:15:59 +02:00
ComicIronicandGitHub 8398169183 Change Reference -> Ref in VV (#1040) 2020-05-01 19:04:59 +02:00
Pieter-Jan Briers 1ab703325f Show type abbreviations for default ToString() implementations. 2020-04-17 21:42:54 +02:00
Pieter-Jan Briers cb095b28bd Fix not being able to VV content components on release. 2020-02-15 21:56:37 +01:00
Pieter-Jan Briers 131a1ee3bd Type Abbreviation utility.
Just to neaten up VV a little.
2020-01-05 01:51:25 +01:00
Pieter-Jan Briers c0b19dcca1 Hide property overrides in VV.
Fixes #857.
2019-08-30 09:38:02 +02:00
Víctor Aguilera PuertoandPieter-Jan Briers b421143463 Clear server VVTraitEnumerable cache on refresh (#856) 2019-08-30 05:59:49 +02:00