Delta-v/Content.Client
Vera Aguilera Puerto 189a5c7847
ConstructionGL2 Part 1: ECSification, events and steps. (#5017)
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
    - The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
    - This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
    - This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
    - This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes #4892 and fixes #4857

Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
2021-10-26 16:38:03 +02:00
..
AI Changes most uses of Color.Green to Color.LimeGreen for better visuals (#4666) 2021-09-20 21:50:02 -07:00
AME Add ButtonHelpers and the SetButtonDisabledRecursive helper. 2021-07-29 12:55:37 +02:00
Access/UI Truncate long name / job titles for IDs (#5009) 2021-10-24 01:28:25 -07:00
Actions Remove some more unused fields 2021-10-13 17:38:20 +11:00
Administration Admin shuttle call button (#4859) 2021-10-13 10:15:28 -07:00
Alerts XAMLify ID card computer, Alerts and AME window (#4322) 2021-07-27 20:09:12 +02:00
Animations Further pickup animation improvements. 2021-08-06 19:20:27 +02:00
Arcade Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Atmos Fix gas pipe rotation rendering (#5015) 2021-10-25 14:24:54 +11:00
Audio Adds linting support to SoundCollectionPrototype, fix linter errors. 2021-10-01 12:40:44 +02:00
Body ECS damageable (#4529) 2021-09-14 10:07:37 -07:00
Botany Reorganizes Resources/Constructible (#4252) 2021-07-15 18:30:50 +00:00
Buckle Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Cabinet ItemCabinetVisualizer uses layers (#4445) 2021-08-17 14:13:39 -07:00
Camera Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Cargo Cargo console to XAML (#4973) 2021-10-22 02:53:18 -07:00
Changelog Clean up the escape menu XAML a bit. 2021-09-07 00:30:08 +02:00
CharacterAppearance Moves HumanoidAppearanceComponent to ECS (#4855) 2021-10-17 00:28:02 +02:00
CharacterInfo Get rid of any usage of VBoxContainer/HBoxContainer (#4653) 2021-09-19 17:56:04 +00:00
CharacterInterface Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Chat Update CloseTo to CloseToPercent (#4708) 2021-09-29 20:07:01 +10:00
Chemistry spray bottle fix (#5012) 2021-10-25 17:29:02 +11:00
Clickable Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Climbing Remove IActionBlocker.CanMove (#4449) 2021-08-09 17:34:01 -07:00
Cloning/UI Fix #4070, Visualizer Edition (#4730) 2021-10-02 16:43:47 -07:00
Clothing Moved MagbootsComponent.cs from Cloning to Clothing (#4399) 2021-07-31 01:05:07 +02:00
CombatMode Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Commands Basic AHelp Panel, Ported & Fixed (#4776) 2021-10-06 17:25:27 +02:00
Communications/UI Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Computer Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Configurable/UI Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Construction ConstructionGL2 Part 1: ECSification, events and steps. (#5017) 2021-10-26 16:38:03 +02:00
ContextMenu/UI ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Conveyor/Visualizers conveyor & recycler ecs (#4537) 2021-09-10 17:26:05 +10:00
Cooldown Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Crayon Crayon fix (#4848) 2021-10-12 23:56:35 -07:00
Credits Credits window to XAML UI (#4622) 2021-09-17 09:10:24 -07:00
Cuffs Deprecate a bunch of IActionBlocker (#4852) 2021-10-21 13:03:14 +11:00
Disposal Disposals UI to XAML (#4623) 2021-09-17 09:09:45 -07:00
DoAfter Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Doors Blast doors & shutters (#4822) 2021-10-10 12:43:50 +02:00
DragDrop Popup ECS Refactor (#4692) 2021-09-26 15:18:45 +02:00
Electrocution Electrocution. (#4958) 2021-10-25 16:21:56 +02:00
Entry Electrocution. (#4958) 2021-10-25 16:21:56 +02:00
EscapeMenu Show held item next to cursor (option). (#4658) 2021-10-22 13:26:02 +11:00
Eui Remove NetMessage deprecated boilerplate (#4196) 2021-06-21 07:43:54 +02:00
Examine ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Explosion Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Extinguisher Fire extinguisher safety (#4912) 2021-10-25 18:04:24 +11:00
Flash Refactors flashes to ECS, sunglasses protect you from being flashed. (#4579) 2021-09-10 00:20:41 +10:00
Friction Increase MoverController performance (#4448) 2021-08-15 14:03:08 +10:00
GameTicking/Managers Fix some warnings relating to fields being unused. 2021-09-20 11:22:59 +02:00
Ghost fix ghost component (#5000) 2021-10-23 19:29:38 -07:00
Gravity GravityGeneratorWindow to XAML UI (#4638) 2021-09-19 09:59:55 -07:00
HUD Admin ghosts can now interact with stuff (#4178) 2021-08-23 13:14:52 +10:00
HandLabeler/UI Adds hand labelers (#4903) 2021-10-16 13:34:05 -07:00
Hands Fixes ShowHandItemOverlay freezing the game when the item in question has no sprite component. 2021-10-22 13:44:37 +02:00
HealthOverlay Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
IconSmoothing Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Info Adds rule button to lobby and character creation. Add IC naming warning. (#4760) 2021-10-03 21:48:29 +00:00
Input ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Instruments Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Interactable Fixes for grid rotation (#4562) 2021-09-16 13:02:10 +10:00
Inventory Slipping tweaks + remove EffectBlocker (#4955) 2021-10-25 17:43:49 +11:00
IoC Popup ECS Refactor (#4692) 2021-09-26 15:18:45 +02:00
Items ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Jittering Status effect refactor (#4868) 2021-10-15 23:45:04 +02:00
Kitchen Cleanup microwave and ExpendableLight sound stop code. 2021-09-20 11:25:12 +02:00
LateJoin Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Lathe Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Launcher Make launcher connecting dialog show disconnect reason again 2021-10-04 01:45:39 +02:00
Light fix lantern visualizer animation error (#4800) 2021-10-20 18:45:46 -07:00
Links Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Lobby Moves HumanoidAppearanceComponent to ECS (#4855) 2021-10-17 00:28:02 +02:00
MachineLinking machine linking refactor to ecs (#4323) 2021-08-27 17:46:02 +02:00
MainMenu MainMenuControl to XAML (#4642) 2021-09-19 17:34:46 +00:00
Markers Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
MedicalScanner MedicalScannerWindow to XAML UI (#4641) 2021-09-19 17:36:09 +00:00
Message Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Mining Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
MobState Remove some unused fields 2021-09-21 00:16:52 +10:00
Module Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Morgue/Visualizers Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Movement/Components Nuke portals (#4315) 2021-07-21 11:16:10 +02:00
NodeContainer Pow3r: stage 1 (#4208) 2021-07-04 18:11:52 +02:00
Nutrition #3898 open sprite field for drink comp (#4235) 2021-10-03 15:56:29 +11:00
PDA Moving PDA to ECS (#4538) 2021-10-03 15:05:52 +11:00
Paper/UI PaperWindow to XAML UI (#4639) 2021-09-19 10:01:01 -07:00
Parallax Fix some warnings relating to fields being unused. 2021-09-20 11:22:59 +02:00
ParticleAccelerator Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Physics/Controllers Update content for joints refactor (#4487) 2021-10-04 15:35:03 +11:00
Placement/Modes Enable nullability in Content.Client (#3257) 2021-03-10 14:48:29 +01:00
Pointing fix lantern visualizer animation error (#4800) 2021-10-20 18:45:46 -07:00
Popups Remove some more unused fields 2021-10-13 17:38:20 +11:00
Power Refactors APC Window to XAML-UI (#4624) 2021-09-19 17:18:58 +00:00
PowerCell Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Preferences Moves HumanoidAppearanceComponent to ECS (#4855) 2021-10-17 00:28:02 +02:00
Projectiles Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Pulling ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Recycling conveyor & recycler ecs (#4537) 2021-09-10 17:26:05 +10:00
Research ResearchConsoleMenu to XAML UI (#4640) 2021-09-19 10:23:32 -07:00
Resources Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Rotation Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
RoundEnd Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Sandbox Update showbb command (#4710) 2021-10-03 17:58:19 +11:00
Screenshot Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Security Fix deployable barrier light toggle (#4739) 2021-10-02 16:53:20 +02:00
Shuttles Make Saltern driveable (#4257) 2021-07-21 21:15:12 +10:00
Singularity Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Slippery Slipping, now with 20% more ecs (#4310) 2021-07-21 22:13:58 +10:00
Smoking Refactors smoking to ECS, smoking actually makes you inhale reagents. (#4678) 2021-09-26 15:19:00 +02:00
Spawners Remove redundant #nullable enable (#4275) 2021-07-16 17:37:09 -07:00
Speech/EntitySystems Add-d-ds s-s-stut-ttering t-to the g-gam-me (#4901) 2021-10-17 01:23:31 +02:00
Stack Stack components are now entirely logicless. 2021-08-30 11:49:09 +02:00
State Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
StationEvents Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Storage Add examine, activate, and context menu to storage buttons (#4525) 2021-10-24 16:42:47 +11:00
Strip Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
Stunnable Refactors stunnable to be ECS. (#4819) 2021-10-10 12:47:26 +02:00
Stylesheets Changes most uses of Color.Green to Color.LimeGreen for better visuals (#4666) 2021-09-20 21:50:02 -07:00
SubFloor Add subfloor appearance data, pipes correctly render subfloor. (#4393) 2021-07-31 19:50:36 -07:00
Suspicion Remove usages of SizeFlags (#4662) 2021-10-03 13:37:52 +02:00
Tabletop Update CloseTo to CloseToPercent (#4708) 2021-09-29 20:07:01 +10:00
Targeting Get rid of any usage of VBoxContainer/HBoxContainer (#4653) 2021-09-19 17:56:04 +00:00
Toilet Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Tools Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00
Traitor/Uplink Description for Uplink UI (and preset uplinks) (#4870) 2021-10-15 12:49:59 +02:00
Trigger Fix missing sounds (#4466) 2021-08-13 21:31:37 -07:00
UserInterface Add examine, activate, and context menu to storage buttons (#4525) 2021-10-24 16:42:47 +11:00
VendingMachines Refactors Vending Menu to XAML-UI (#4614) 2021-09-19 17:21:05 +00:00
Verbs ECS verbs and update context menu (#4594) 2021-10-04 20:29:03 -07:00
Viewport Show held item next to cursor (option). (#4658) 2021-10-22 13:26:02 +11:00
Visualizer Fix #4070, Visualizer Edition (#4730) 2021-10-02 16:43:47 -07:00
Voting Vote type delay, code comments. 2021-07-21 19:03:10 +02:00
Wall Respriting the codebase (#4820) 2021-10-15 11:58:40 +02:00
Weapons Gets rid of all ComponentManager usages. (#4707) 2021-09-28 13:35:29 +02:00
Window Remove window debug thing that was left in 2021-10-17 23:18:29 -07:00
Wires Replace most VBox/HBoxContainers with BoxContainers (#4274) 2021-07-18 18:39:31 +02:00
AssemblyInfo.cs Visualize melee weapon cooldowns in HUD. 2019-11-12 01:43:11 +01:00
ComputerBoundUserInterface.cs Atmos pipe rework (#3833) 2021-06-19 13:25:05 +02:00
Content.Client.csproj Re-organize all projects (#4166) 2021-06-09 22:19:39 +02:00
Content.Client.csproj.DotSettings Pow3r: stage 1 (#4208) 2021-07-04 18:11:52 +02:00
Program.cs Content.{Client,Server} are now Exes that can be ran. 2020-01-22 20:17:32 +01:00
app.config Updates submodule (#56) 2018-04-12 23:56:43 +02:00