Mind ECS (#16826)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Content.Server.Body.Components;
|
||||
using Content.Server.Ghost.Components;
|
||||
using Content.Server.Mind;
|
||||
using Content.Server.Mind.Components;
|
||||
using Content.Shared.Body.Components;
|
||||
using Content.Shared.Body.Events;
|
||||
@@ -13,6 +14,7 @@ namespace Content.Server.Body.Systems
|
||||
public sealed class BrainSystem : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!;
|
||||
[Dependency] private readonly MindSystem _mindSystem = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -38,8 +40,8 @@ namespace Content.Server.Body.Systems
|
||||
|
||||
private void HandleMind(EntityUid newEntity, EntityUid oldEntity)
|
||||
{
|
||||
EntityManager.EnsureComponent<MindComponent>(newEntity);
|
||||
var oldMind = EntityManager.EnsureComponent<MindComponent>(oldEntity);
|
||||
EntityManager.EnsureComponent<MindContainerComponent>(newEntity);
|
||||
var oldMind = EntityManager.EnsureComponent<MindContainerComponent>(oldEntity);
|
||||
|
||||
EnsureComp<GhostOnMoveComponent>(newEntity);
|
||||
if (HasComp<BodyComponent>(newEntity))
|
||||
@@ -55,7 +57,10 @@ namespace Content.Server.Body.Systems
|
||||
_movementSpeed.ChangeBaseSpeed(newEntity, 0, 0 , 0, move);
|
||||
}
|
||||
|
||||
oldMind.Mind?.TransferTo(newEntity);
|
||||
if (!_mindSystem.TryGetMind(oldEntity, out var mind, oldMind))
|
||||
return;
|
||||
|
||||
_mindSystem.TransferTo(mind, newEntity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user