MobStates use EntityUid
This commit is contained in:
@@ -8,11 +8,11 @@ namespace Content.Client.MobState.States
|
|||||||
{
|
{
|
||||||
public class DeadMobState : SharedDeadMobState
|
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);
|
appearance.SetData(DamageStateVisuals.State, DamageState.Dead);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -335,7 +335,7 @@ namespace Content.Server.Buckle.Components
|
|||||||
EntitySystem.Get<StandingStateSystem>().Stand(Owner.Uid);
|
EntitySystem.Get<StandingStateSystem>().Stand(Owner.Uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
_mobState?.CurrentState?.EnterState(Owner);
|
_mobState?.CurrentState?.EnterState(Owner.Uid, Owner.EntityManager);
|
||||||
|
|
||||||
UpdateBuckleStatus();
|
UpdateBuckleStatus();
|
||||||
|
|
||||||
|
|||||||
@@ -9,13 +9,13 @@ namespace Content.Server.MobState.States
|
|||||||
{
|
{
|
||||||
public class CriticalMobState : SharedCriticalMobState
|
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 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);
|
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 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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entity.TryGetComponent(out ServerAlertsComponent? alerts))
|
if (!entityManager.TryGetComponent(entity, out ServerAlertsComponent? alerts))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!entity.TryGetComponent(out MobStateComponent? stateComponent))
|
if (!entityManager.TryGetComponent(entity, out MobStateComponent? stateComponent))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ namespace Content.Shared.MobState.Components
|
|||||||
{
|
{
|
||||||
if (!current.HasValue)
|
if (!current.HasValue)
|
||||||
{
|
{
|
||||||
old?.ExitState(Owner);
|
old?.ExitState(Owner.Uid, Owner.EntityManager);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -300,16 +300,16 @@ namespace Content.Shared.MobState.Components
|
|||||||
|
|
||||||
if (state == old)
|
if (state == old)
|
||||||
{
|
{
|
||||||
state.UpdateState(Owner, threshold);
|
state.UpdateState(Owner.Uid, threshold, Owner.EntityManager);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
old?.ExitState(Owner);
|
old?.ExitState(Owner.Uid, Owner.EntityManager);
|
||||||
|
|
||||||
CurrentState = state;
|
CurrentState = state;
|
||||||
|
|
||||||
state.EnterState(Owner);
|
state.EnterState(Owner.Uid, Owner.EntityManager);
|
||||||
state.UpdateState(Owner, threshold);
|
state.UpdateState(Owner.Uid, threshold, Owner.EntityManager);
|
||||||
|
|
||||||
var message = new MobStateChangedMessage(this, old, state);
|
var message = new MobStateChangedMessage(this, old, state);
|
||||||
#pragma warning disable 618
|
#pragma warning disable 618
|
||||||
|
|||||||
@@ -29,10 +29,10 @@ namespace Content.Shared.MobState.State
|
|||||||
return IsCritical() || IsDead();
|
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>
|
/// <summary>
|
||||||
/// Called when this state is entered.
|
/// Called when this state is entered.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void EnterState(IEntity entity);
|
void EnterState(EntityUid uid, IEntityManager entityManager);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Called when this state is left for a different state.
|
/// Called when this state is left for a different state.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
void ExitState(IEntity entity);
|
void ExitState(EntityUid uid, IEntityManager entityManager);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Called when this state is updated.
|
/// Called when this state is updated.
|
||||||
/// </summary>
|
/// </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;
|
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
|
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);
|
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;
|
protected override DamageState DamageState => DamageState.Dead;
|
||||||
|
|
||||||
public override void EnterState(IEntity entity)
|
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||||
{
|
{
|
||||||
base.EnterState(entity);
|
base.EnterState(uid, entityManager);
|
||||||
var wake = entity.EnsureComponent<CollisionWakeComponent>();
|
var wake = entityManager.EnsureComponent<CollisionWakeComponent>(uid);
|
||||||
wake.Enabled = true;
|
wake.Enabled = true;
|
||||||
var standingState = EntitySystem.Get<StandingStateSystem>();
|
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;
|
physics.CanCollide = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entity.TryGetComponent(out SharedAppearanceComponent? appearance))
|
if (entityManager.TryGetComponent(uid, out SharedAppearanceComponent? appearance))
|
||||||
{
|
{
|
||||||
appearance.SetData(DamageStateVisuals.State, DamageState.Dead);
|
appearance.SetData(DamageStateVisuals.State, DamageState.Dead);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void ExitState(IEntity entity)
|
public override void ExitState(EntityUid uid, IEntityManager entityManager)
|
||||||
{
|
{
|
||||||
base.ExitState(entity);
|
base.ExitState(uid, entityManager);
|
||||||
if (entity.HasComponent<CollisionWakeComponent>())
|
if (entityManager.HasComponent<CollisionWakeComponent>(uid))
|
||||||
{
|
{
|
||||||
entity.RemoveComponent<CollisionWakeComponent>();
|
entityManager.RemoveComponent<CollisionWakeComponent>(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
var standingState = EntitySystem.Get<StandingStateSystem>();
|
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;
|
physics.CanCollide = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,12 @@ namespace Content.Shared.MobState.State
|
|||||||
{
|
{
|
||||||
protected override DamageState DamageState => DamageState.Alive;
|
protected override DamageState DamageState => DamageState.Alive;
|
||||||
|
|
||||||
public override void EnterState(IEntity entity)
|
public override void EnterState(EntityUid uid, IEntityManager entityManager)
|
||||||
{
|
{
|
||||||
base.EnterState(entity);
|
base.EnterState(uid, entityManager);
|
||||||
EntitySystem.Get<StandingStateSystem>().Stand(entity.Uid);
|
EntitySystem.Get<StandingStateSystem>().Stand(uid);
|
||||||
|
|
||||||
if (entity.TryGetComponent(out SharedAppearanceComponent? appearance))
|
if (entityManager.TryGetComponent(uid, out SharedAppearanceComponent? appearance))
|
||||||
{
|
{
|
||||||
appearance.SetData(DamageStateVisuals.State, DamageState.Alive);
|
appearance.SetData(DamageStateVisuals.State, DamageState.Alive);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user