MobStates use EntityUid
This commit is contained in:
@@ -8,11 +8,11 @@ namespace Content.Client.MobState.States
|
||||
{
|
||||
public class DeadMobState : SharedDeadMobState
|
||||
{
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
base.EnterState(uid, entityManager);
|
||||
|
||||
if (entity.TryGetComponent(out AppearanceComponent? appearance))
|
||||
if (entityManager.TryGetComponent(uid, out AppearanceComponent? appearance))
|
||||
{
|
||||
appearance.SetData(DamageStateVisuals.State, DamageState.Dead);
|
||||
}
|
||||
|
||||
@@ -335,7 +335,7 @@ namespace Content.Server.Buckle.Components
|
||||
EntitySystem.Get<StandingStateSystem>().Stand(Owner.Uid);
|
||||
}
|
||||
|
||||
_mobState?.CurrentState?.EnterState(Owner);
|
||||
_mobState?.CurrentState?.EnterState(Owner.Uid, Owner.EntityManager);
|
||||
|
||||
UpdateBuckleStatus();
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@ namespace Content.Server.MobState.States
|
||||
{
|
||||
public class CriticalMobState : SharedCriticalMobState
|
||||
{
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
base.EnterState(uid, entityManager);
|
||||
|
||||
if (entity.TryGetComponent(out StatusEffectsComponent? stun))
|
||||
if (entityManager.TryGetComponent(uid, out StatusEffectsComponent? stun))
|
||||
{
|
||||
EntitySystem.Get<StatusEffectsSystem>().TryRemoveStatusEffect(entity.Uid, "Stun");
|
||||
EntitySystem.Get<StatusEffectsSystem>().TryRemoveStatusEffect(uid, "Stun");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,18 +13,18 @@ namespace Content.Server.MobState.States
|
||||
{
|
||||
public class DeadMobState : SharedDeadMobState
|
||||
{
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
base.EnterState(uid, entityManager);
|
||||
|
||||
if (entity.TryGetComponent(out ServerAlertsComponent? status))
|
||||
if (entityManager.TryGetComponent(uid, out ServerAlertsComponent? status))
|
||||
{
|
||||
status.ShowAlert(AlertType.HumanDead);
|
||||
}
|
||||
|
||||
if (entity.TryGetComponent(out StatusEffectsComponent? stun))
|
||||
if (entityManager.TryGetComponent(uid, out StatusEffectsComponent? stun))
|
||||
{
|
||||
EntitySystem.Get<StatusEffectsSystem>().TryRemoveStatusEffect(entity.Uid, "Stun");
|
||||
EntitySystem.Get<StatusEffectsSystem>().TryRemoveStatusEffect(uid, "Stun");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,21 +10,21 @@ namespace Content.Server.MobState.States
|
||||
{
|
||||
public class NormalMobState : SharedNormalMobState
|
||||
{
|
||||
public override void UpdateState(IEntity entity, FixedPoint2 threshold)
|
||||
public override void UpdateState(EntityUid entity, FixedPoint2 threshold, IEntityManager entityManager)
|
||||
{
|
||||
base.UpdateState(entity, threshold);
|
||||
base.UpdateState(entity, threshold, entityManager);
|
||||
|
||||
if (!entity.TryGetComponent(out DamageableComponent? damageable))
|
||||
if (!entityManager.TryGetComponent(entity, out DamageableComponent? damageable))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!entity.TryGetComponent(out ServerAlertsComponent? alerts))
|
||||
if (!entityManager.TryGetComponent(entity, out ServerAlertsComponent? alerts))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!entity.TryGetComponent(out MobStateComponent? stateComponent))
|
||||
if (!entityManager.TryGetComponent(entity, out MobStateComponent? stateComponent))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -290,7 +290,7 @@ namespace Content.Shared.MobState.Components
|
||||
{
|
||||
if (!current.HasValue)
|
||||
{
|
||||
old?.ExitState(Owner);
|
||||
old?.ExitState(Owner.Uid, Owner.EntityManager);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -300,16 +300,16 @@ namespace Content.Shared.MobState.Components
|
||||
|
||||
if (state == old)
|
||||
{
|
||||
state.UpdateState(Owner, threshold);
|
||||
state.UpdateState(Owner.Uid, threshold, Owner.EntityManager);
|
||||
return;
|
||||
}
|
||||
|
||||
old?.ExitState(Owner);
|
||||
old?.ExitState(Owner.Uid, Owner.EntityManager);
|
||||
|
||||
CurrentState = state;
|
||||
|
||||
state.EnterState(Owner);
|
||||
state.UpdateState(Owner, threshold);
|
||||
state.EnterState(Owner.Uid, Owner.EntityManager);
|
||||
state.UpdateState(Owner.Uid, threshold, Owner.EntityManager);
|
||||
|
||||
var message = new MobStateChangedMessage(this, old, state);
|
||||
#pragma warning disable 618
|
||||
|
||||
@@ -29,10 +29,10 @@ namespace Content.Shared.MobState.State
|
||||
return IsCritical() || IsDead();
|
||||
}
|
||||
|
||||
public virtual void EnterState(IEntity entity) { }
|
||||
public virtual void EnterState(EntityUid uid, IEntityManager entityManager) { }
|
||||
|
||||
public virtual void ExitState(IEntity entity) { }
|
||||
public virtual void ExitState(EntityUid uid, IEntityManager entityManager) { }
|
||||
|
||||
public virtual void UpdateState(IEntity entity, FixedPoint2 threshold) { }
|
||||
public virtual void UpdateState(EntityUid entity, FixedPoint2 threshold, IEntityManager entityManager) { }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,16 +27,16 @@ namespace Content.Shared.MobState.State
|
||||
/// <summary>
|
||||
/// Called when this state is entered.
|
||||
/// </summary>
|
||||
void EnterState(IEntity entity);
|
||||
void EnterState(EntityUid uid, IEntityManager entityManager);
|
||||
|
||||
/// <summary>
|
||||
/// Called when this state is left for a different state.
|
||||
/// </summary>
|
||||
void ExitState(IEntity entity);
|
||||
void ExitState(EntityUid uid, IEntityManager entityManager);
|
||||
|
||||
/// <summary>
|
||||
/// Called when this state is updated.
|
||||
/// </summary>
|
||||
void UpdateState(IEntity entity, FixedPoint2 threshold);
|
||||
void UpdateState(EntityUid entity, FixedPoint2 threshold, IEntityManager entityManager);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,28 +11,28 @@ namespace Content.Shared.MobState.State
|
||||
{
|
||||
protected override DamageState DamageState => DamageState.Critical;
|
||||
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
base.EnterState(uid, entityManager);
|
||||
|
||||
if (entity.TryGetComponent(out SharedAlertsComponent? status))
|
||||
if (entityManager.TryGetComponent(uid, out SharedAlertsComponent? status))
|
||||
{
|
||||
status.ShowAlert(AlertType.HumanCrit); // TODO: combine humancrit-0 and humancrit-1 into a gif and display it
|
||||
}
|
||||
|
||||
EntitySystem.Get<StandingStateSystem>().Down(entity.Uid);
|
||||
EntitySystem.Get<StandingStateSystem>().Down(uid);
|
||||
|
||||
if (entity.TryGetComponent(out SharedAppearanceComponent? appearance))
|
||||
if (entityManager.TryGetComponent(uid, out SharedAppearanceComponent? appearance))
|
||||
{
|
||||
appearance.SetData(DamageStateVisuals.State, DamageState.Critical);
|
||||
}
|
||||
}
|
||||
|
||||
public override void ExitState(IEntity entity)
|
||||
public override void ExitState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.ExitState(entity);
|
||||
base.ExitState(uid, entityManager);
|
||||
|
||||
EntitySystem.Get<StandingStateSystem>().Stand(entity.Uid);
|
||||
EntitySystem.Get<StandingStateSystem>().Stand(uid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,37 +8,37 @@ namespace Content.Shared.MobState.State
|
||||
{
|
||||
protected override DamageState DamageState => DamageState.Dead;
|
||||
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
var wake = entity.EnsureComponent<CollisionWakeComponent>();
|
||||
base.EnterState(uid, entityManager);
|
||||
var wake = entityManager.EnsureComponent<CollisionWakeComponent>(uid);
|
||||
wake.Enabled = true;
|
||||
var standingState = EntitySystem.Get<StandingStateSystem>();
|
||||
standingState.Down(entity.Uid);
|
||||
standingState.Down(uid);
|
||||
|
||||
if (standingState.IsDown(entity.Uid) && entity.TryGetComponent(out PhysicsComponent? physics))
|
||||
if (standingState.IsDown(uid) && entityManager.TryGetComponent(uid, out PhysicsComponent? physics))
|
||||
{
|
||||
physics.CanCollide = false;
|
||||
}
|
||||
|
||||
if (entity.TryGetComponent(out SharedAppearanceComponent? appearance))
|
||||
if (entityManager.TryGetComponent(uid, out SharedAppearanceComponent? appearance))
|
||||
{
|
||||
appearance.SetData(DamageStateVisuals.State, DamageState.Dead);
|
||||
}
|
||||
}
|
||||
|
||||
public override void ExitState(IEntity entity)
|
||||
public override void ExitState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.ExitState(entity);
|
||||
if (entity.HasComponent<CollisionWakeComponent>())
|
||||
base.ExitState(uid, entityManager);
|
||||
if (entityManager.HasComponent<CollisionWakeComponent>(uid))
|
||||
{
|
||||
entity.RemoveComponent<CollisionWakeComponent>();
|
||||
entityManager.RemoveComponent<CollisionWakeComponent>(uid);
|
||||
}
|
||||
|
||||
var standingState = EntitySystem.Get<StandingStateSystem>();
|
||||
standingState.Stand(entity.Uid);
|
||||
standingState.Stand(uid);
|
||||
|
||||
if (!standingState.IsDown(entity.Uid) && entity.TryGetComponent(out PhysicsComponent? physics))
|
||||
if (!standingState.IsDown(uid) && entityManager.TryGetComponent(uid, out PhysicsComponent? physics))
|
||||
{
|
||||
physics.CanCollide = true;
|
||||
}
|
||||
|
||||
@@ -11,12 +11,12 @@ namespace Content.Shared.MobState.State
|
||||
{
|
||||
protected override DamageState DamageState => DamageState.Alive;
|
||||
|
||||
public override void EnterState(IEntity entity)
|
||||
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||
{
|
||||
base.EnterState(entity);
|
||||
EntitySystem.Get<StandingStateSystem>().Stand(entity.Uid);
|
||||
base.EnterState(uid, entityManager);
|
||||
EntitySystem.Get<StandingStateSystem>().Stand(uid);
|
||||
|
||||
if (entity.TryGetComponent(out SharedAppearanceComponent? appearance))
|
||||
if (entityManager.TryGetComponent(uid, out SharedAppearanceComponent? appearance))
|
||||
{
|
||||
appearance.SetData(DamageStateVisuals.State, DamageState.Alive);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user