mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* Make every EntitySystem partial * Oobs thats for a diff PR * Also oops on that one * Test systems * git are we fr * Update file templates * cleanup empty classes while we are here * forgor --------- Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
using Content.Shared.Changeling.Components;
|
|
using Content.Shared.Changeling.Systems;
|
|
using Robust.Shared.GameStates;
|
|
|
|
namespace Content.Server.Changeling.Systems;
|
|
|
|
public sealed partial class ChangelingIdentitySystem : SharedChangelingIdentitySystem
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<ChangelingIdentityComponent, ComponentGetState>(OnGetState);
|
|
}
|
|
|
|
private void OnGetState(Entity<ChangelingIdentityComponent> entity, ref ComponentGetState args)
|
|
{
|
|
List<ChangelingNetworkedIdentityData> sentIdentities = new();
|
|
|
|
foreach (var identity in entity.Comp.ConsumedIdentities)
|
|
{
|
|
ChangelingNetworkedIdentityData netData = new()
|
|
{
|
|
Identity = GetNetEntity(identity.Identity),
|
|
Original = GetNetEntity(identity.Original),
|
|
OriginalJob = identity.OriginalJob,
|
|
OriginalName = identity.OriginalName,
|
|
Starting = identity.Starting,
|
|
GrantedDna = identity.GrantedDna,
|
|
};
|
|
|
|
sentIdentities.Add(netData);
|
|
}
|
|
|
|
var current = entity.Comp.CurrentIdentity;
|
|
|
|
var netCurrent = GetNetEntity(current);
|
|
|
|
args.State = new ChangelingIdentityComponentState(
|
|
sentIdentities,
|
|
netCurrent,
|
|
entity.Comp.IdentityCloningSettings,
|
|
entity.Comp.MaxStoredDisguises);
|
|
}
|
|
}
|