Moves HumanoidAppearanceComponent to ECS (#4855)

* Moves HumanoidCharacterAppearance to ECS

* Makes HumanoidAppearanceSystem work over networks

* Makes HumanoidAppearanceSystem more efficient

* Cleans up the files

* Updates privacy on a couple of functions

* Fixes a few using references, renames a file

* Makes HumanoidAppearanceSystem more cleaner

* Fixes Magic Mirror

* Cleanup

* HumanoidAppearanceComponent now has a friend

SharedHumanoidAppearanceSystem is only allowed to act on this, now

* Fixes the Body-HumanoidAppearance ECS scaffolding

* a little cleanup never hurt anybody

* quick fix for magic mirror appearance access

* Replaces a networked event with a local one

This one was... causing bugs
This commit is contained in:
Flipp Syder
2021-10-16 15:28:02 -07:00
committed by GitHub
parent f69575e15a
commit 7dc6b95a10
17 changed files with 275 additions and 240 deletions

View File

@@ -8,6 +8,7 @@ using Content.Shared.Body.Part.Property;
using Content.Shared.Body.Preset;
using Content.Shared.Body.Slot;
using Content.Shared.Body.Template;
using Content.Shared.CharacterAppearance.Systems;
using Content.Shared.Damage;
using Content.Shared.Damage.Prototypes;
using Content.Shared.Movement.Components;
@@ -151,6 +152,7 @@ namespace Content.Shared.Body.Components
var argsAdded = new BodyPartAddedEventArgs(slot.Id, part);
EntitySystem.Get<SharedHumanoidAppearanceSystem>().BodyPartAdded(Owner.Uid, argsAdded);
foreach (var component in Owner.GetAllComponents<IBodyPartAdded>().ToArray())
{
component.BodyPartAdded(argsAdded);
@@ -177,6 +179,8 @@ namespace Content.Shared.Body.Components
var args = new BodyPartRemovedEventArgs(slot.Id, part);
EntitySystem.Get<SharedHumanoidAppearanceSystem>().BodyPartRemoved(Owner.Uid, args);
foreach (var component in Owner.GetAllComponents<IBodyPartRemoved>())
{
component.BodyPartRemoved(args);

View File

@@ -1,5 +1,6 @@
using System;
using Robust.Shared.GameObjects;
using Robust.Shared.Serialization;
namespace Content.Shared.Body.Part
{
@@ -17,6 +18,8 @@ namespace Content.Shared.Body.Part
void BodyPartAdded(BodyPartAddedEventArgs args);
}
[Serializable, NetSerializable]
public class BodyPartAddedEventArgs : EventArgs
{
public BodyPartAddedEventArgs(string slot, SharedBodyPartComponent part)

View File

@@ -1,4 +1,5 @@
using System;
using Robust.Shared.Serialization;
namespace Content.Shared.Body.Part
{
@@ -16,6 +17,7 @@ namespace Content.Shared.Body.Part
void BodyPartRemoved(BodyPartRemovedEventArgs args);
}
[Serializable, NetSerializable]
public class BodyPartRemovedEventArgs : EventArgs
{
public BodyPartRemovedEventArgs(string slot, SharedBodyPartComponent part)