MobStates use EntityUid

This commit is contained in:
Vera Aguilera Puerto
2021-11-09 12:15:12 +01:00
parent 5cec5c421c
commit e5c062559a
11 changed files with 53 additions and 53 deletions

View File

@@ -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) { }
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}
}

View File

@@ -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;
}

View File

@@ -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);
}