Commit Graph

114 Commits

Author SHA1 Message Date
Paul
97e47178d7 Revert "fixes a bunch of warnings"
This reverts commit d4d85b663f.
2021-12-20 15:20:27 +01:00
Paul
d4d85b663f fixes a bunch of warnings 2021-12-20 13:58:30 +01:00
Paul Ritter
cc57d1380c Revert Rich text (#5848) 2021-12-20 12:42:42 +01:00
E F R
b2da936848 Everything: Rich text redux (#5625)
* lord save me

* UI/ChatBox: Use the new `defStyle` param for `RenderMarkup`

The previous iteration didn't work because `AddMessage` can't inherit
its color from the PushColor (since we're not doing actual tag stacks
anymore).

* rebase touchup
2021-12-12 18:25:42 -08:00
Vera Aguilera Puerto
ba736f70df Remove many resolves on Content.Server 2021-12-08 17:04:21 +01:00
Vera Aguilera Puerto
c8b65be747 Replace IEntityManager resolves in systems for cached EntityManager 2021-12-08 13:00:43 +01:00
Vera Aguilera Puerto
4919f1db69 Remove more IoCManager IEntityManager resolves 2021-12-08 10:41:38 +01:00
Vera Aguilera Puerto
3f79e3754f Merge branch 'master' into 2021-12-03-remove-IEntity-komm-süsser-todd
# Conflicts:
#	Content.Client/Crayon/CrayonDecalVisualizer.cs
#	Content.Client/Tabletop/TabletopSystem.cs
#	Content.IntegrationTests/Tests/InventoryHelpersTest.cs
#	Content.Server/AI/EntitySystems/AiSystem.cs
#	Content.Server/AI/Utility/AiLogic/UtilityAI.cs
#	Content.Server/AME/AMENodeGroup.cs
#	Content.Server/Administration/AdminVerbSystem.cs
#	Content.Server/Body/Systems/RespiratorSystem.cs
#	Content.Server/Chemistry/Components/InjectorComponent.cs
#	Content.Server/Chemistry/TileReactions/CleanTileReaction.cs
#	Content.Server/Chemistry/TileReactions/SpillTileReaction.cs
#	Content.Server/Crayon/CrayonComponent.cs
#	Content.Server/Doors/Components/ServerDoorComponent.cs
#	Content.Server/Explosion/EntitySystems/TriggerSystem.cs
#	Content.Server/Fluids/Components/MopComponent.cs
#	Content.Server/Fluids/Components/SpillExtensions.cs
#	Content.Server/Fluids/EntitySystems/PuddleSystem.cs
#	Content.Server/Instruments/InstrumentSystem.cs
#	Content.Server/Nutrition/EntitySystems/DrinkSystem.cs
#	Content.Server/Nutrition/EntitySystems/FoodSystem.cs
#	Content.Server/PneumaticCannon/PneumaticCannonSystem.cs
#	Content.Server/Storage/Components/EntityStorageComponent.cs
#	Content.Server/Storage/Components/StorageFillComponent.cs
#	Content.Server/Stunnable/StunbatonSystem.cs
#	Content.Server/Throwing/ThrowHelper.cs
#	Content.Server/Weapon/Ranged/Barrels/BarrelSystem.cs
#	Content.Server/Weapon/Ranged/Barrels/Components/ServerBatteryBarrelComponent.cs
#	Content.Server/Weapon/Ranged/ServerRangedWeaponComponent.cs
#	Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs
#	Content.Shared/Damage/Components/DamageableComponent.cs
#	Content.Shared/Damage/Systems/DamageableSystem.cs
#	Content.Shared/MobState/Components/MobStateComponent.cs
#	Content.Shared/Slippery/SharedSlipperySystem.cs
2021-12-07 17:48:49 +01:00
metalgearsloth
373b5988d7 Remove redundant IComponent casts 2021-12-07 21:54:00 +11:00
Peptide90
e2a7fd24d5 Adds construct / deconstruct crates (#5650) 2021-12-06 15:10:03 -07:00
DrSmugleaf
2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto
f386b57148 Inline OwnerUid 2021-12-03 16:30:34 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
ee4ff9cfe8 Inline Name 2021-12-03 15:25:51 +01:00
Vera Aguilera Puerto
a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto
69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto
0feebbff00 Inline HasComponent entirely 2021-12-03 12:23:18 +01:00
Vera Aguilera Puerto
72a68c06e4 Inline one HasComponent overload 2021-12-03 12:17:57 +01:00
Vera Aguilera Puerto
b835bea086 Inline GetComponent 2021-12-03 11:55:25 +01:00
Vera Aguilera Puerto
c2e6da1e54 Inline QueueDelete 2021-12-03 11:43:22 +01:00
Vera Aguilera Puerto
e3227546b3 Inline Delete 2021-12-03 11:43:03 +01:00
Vera Aguilera Puerto
f10ed6c0c3 Inline GetAllComponents 2021-12-03 11:42:24 +01:00
Vera Aguilera Puerto
70bbd8c502 Inline Prototype 2021-12-03 11:18:05 +01:00
Vera Aguilera Puerto
5e177ae734 Inline EntityManager 2021-12-03 11:18:05 +01:00
20kdc
f6d44be34f Activatable UI component (#5184)
* Transfer most Instrument UI logic to a new component, ActivatableUIComponent

* Move more ActivatableUIComponent stuff to ECS

* ActivatableUI component ignore on client

* ActivatableUI: Get rid of component interfaces where possible

* Add in adminOnly attribute for activatable UIs

This is so that porting #4926 to this will be easier

* Transition Solar Control Computer to ActivatableUI

* Move communications console to ActivatableUI

* Move cargo console to ActivatableUI

* Move ID card console to ActivatableUI

* ActivatableUI: Make things more amiable to entity tests adding components weirdly

* ActivatableUI: Use handling or lack thereof of events properly

* ActivatableUI: component dependency issue resolution stuffs

* ActivatableUISystem: Fix #5258

* More fixes because master did stuffo

* Check for HandDeselectedEvent again because otherwise active-hand check doesn't work

* Move just a bit more code into the system, introduce a workaround for #5258

* Purge the player status detection stuff

* Oh and some obsolete stuff too
2021-11-23 19:19:08 +01:00
Acruid
fa0ec5cbd9 AppearanceComponent API Changes (#5446) 2021-11-23 18:22:59 +11:00
Clyybber
6ac2446d26 Remove some warnings (#5391)
* Remove unused Dependency fields

* Remove noop null check
2021-11-18 16:46:35 -07:00
20kdc
8c98038692 fixrotations fixes rotations properly again (#5292) 2021-11-17 12:00:58 +11:00
Vera Aguilera Puerto
8b57bafcd1 StackSystem uses EntityUid for Split and Spawn 2021-11-09 15:35:03 +01:00
Vera Aguilera Puerto
e68fd8668d Fix anchorable InteractUsing not cooperating with the rest of event handlers 2021-11-09 15:10:23 +01:00
Vera Aguilera Puerto
48f8dd2284 ActionBlocker CanInteract uses EntityUid exclusively
ActionBlockerSystem fully uses EntityUid now!
2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto
b6337ffe7a Makes many things use OwnerUid instead of Owner.Uid 2021-11-09 15:05:49 +01:00
Vera Aguilera Puerto
5cec5c421c ActSystem and Destruction Threshold Behaviors use EntityUid. 2021-11-09 12:06:00 +01:00
Vera Aguilera Puerto
222541f1a2 Fix AnchorableSystem resolve warnings 2021-11-09 11:51:24 +01:00
Vera Aguilera Puerto
fe6590bbe6 Makes Anchorable ECS. (#5222) 2021-11-09 18:08:30 +11:00
Vera Aguilera Puerto
e6e15b3728 Replace all ITransformComponent by TransformComponent 2021-11-08 12:37:32 +01:00
Kara D
6bb1e58e77 Fix item construction using nearby anchored items (pipes) 2021-11-03 14:33:00 -07:00
Vera Aguilera Puerto
5a5006e4cf ConstructionGL2 Part 2: Better guided steps and recipes. (#5103) 2021-11-02 11:24:32 +01:00
Vera Aguilera Puerto
fea41c539e Add RaiseEvent action to CGL. Machines raise a MachineDeconstructedEvent.
The latter is very useful for any special machine cleanup that needs to happen when a machine is deconstructed.
The former will be useful for so many things!
2021-11-01 17:29:09 +01:00
Vera Aguilera Puerto
0f744447d0 Remove unused using statements in construction comp 2021-11-01 17:07:30 +01:00
Vera Aguilera Puerto
182a52914a Fix construction pathfinding crash on machines when going the wrong way. 2021-11-01 16:56:33 +01:00
Vera Aguilera Puerto
f12cec3f98 Fix construction DoAfter results not setting current edge index.
Fixes #5061
2021-10-28 11:21:55 +02:00
Vera Aguilera Puerto
f840db0458 Fix bug which allowed you to build machines for free by taking the board out and putting it in again. 2021-10-28 11:07:33 +02:00
Visne
c67160ae19 Disable warnings that would be refactored anyway (#5047) 2021-10-27 18:10:40 +02:00
Vera Aguilera Puerto
d2ffabdfd4 Fix ChangeEntity collection modified exception. 2021-10-27 01:29:10 +02:00
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
metalgearsloth
9c3a603e7e Use ActionBlockerSystem as a dependency on CGSystem 2021-10-27 01:07:19 +11:00
Vera Aguilera Puerto
ed3bf94a3b Electrocution. (#4958)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2021-10-25 16:21:56 +02:00
Vera Aguilera Puerto
6b73b89617 Anchorable checks for ToolComponent in Valid method. 2021-10-07 22:57:35 +02:00
Vera Aguilera Puerto
365c7da4dc Makes tools and welders ECS, add ToolQualityPrototype. (#4741) 2021-10-07 13:01:27 +02:00