removes componentdependencies (#6160)

This commit is contained in:
Paul Ritter
2022-01-15 03:26:37 +01:00
committed by GitHub
parent 46405ec165
commit 9e1607722d
33 changed files with 257 additions and 274 deletions

View File

@@ -3,6 +3,7 @@ using Content.Shared.ActionBlocker;
using Content.Shared.Physics;
using Robust.Shared.GameObjects;
using Robust.Shared.GameStates;
using Robust.Shared.IoC;
using Robust.Shared.Physics;
using Robust.Shared.Serialization;
using Robust.Shared.ViewVariables;
@@ -12,15 +13,17 @@ namespace Content.Shared.Climbing
[NetworkedComponent()]
public abstract class SharedClimbingComponent : Component
{
[Dependency] private readonly IEntityManager _entMan = default!;
public sealed override string Name => "Climbing";
protected bool IsOnClimbableThisFrame
{
get
{
if (Body == null) return false;
if (!_entMan.TryGetComponent<PhysicsComponent>(Owner, out var physicsComponent)) return false;
foreach (var entity in Body.GetBodiesIntersecting())
foreach (var entity in physicsComponent.GetBodiesIntersecting())
{
if ((entity.CollisionLayer & (int) CollisionGroup.SmallImpassable) != 0) return true;
}
@@ -37,22 +40,20 @@ namespace Content.Shared.Climbing
{
if (_ownerIsTransitioning == value) return;
_ownerIsTransitioning = value;
if (Body == null) return;
if (!_entMan.TryGetComponent<PhysicsComponent>(Owner, out var physicsComponent)) return;
if (value)
{
Body.BodyType = BodyType.Dynamic;
physicsComponent.BodyType = BodyType.Dynamic;
}
else
{
Body.BodyType = BodyType.KinematicController;
physicsComponent.BodyType = BodyType.KinematicController;
}
}
}
private bool _ownerIsTransitioning = false;
[ComponentDependency] protected PhysicsComponent? Body;
protected TimeSpan StartClimbTime = TimeSpan.Zero;
/// <summary>
@@ -78,9 +79,9 @@ namespace Content.Shared.Climbing
private void ToggleSmallPassable(bool value)
{
// Hope the mob has one fixture
if (Body == null || Body.Deleted) return;
if (!_entMan.TryGetComponent<PhysicsComponent>(Owner, out var physicsComponent) || physicsComponent.Deleted) return;
foreach (var fixture in Body.Fixtures)
foreach (var fixture in physicsComponent.Fixtures)
{
if (value)
{

View File

@@ -16,15 +16,11 @@ namespace Content.Shared.Doors
{
public override string Name => "Door";
[ComponentDependency]
protected readonly AppearanceComponent? AppearanceComponent = null;
[ComponentDependency]
protected readonly IPhysBody? PhysicsComponent = null;
[Dependency]
protected readonly IGameTiming _gameTiming = default!;
[Dependency] private readonly IEntityManager _entMan = default!;
[ViewVariables]
private DoorState _state = DoorState.Closed;
/// <summary>
@@ -104,7 +100,10 @@ namespace Content.Shared.Doors
protected void SetAppearance(DoorVisualState state)
{
AppearanceComponent?.SetData(DoorVisuals.VisualState, state);
if (_entMan.TryGetComponent<AppearanceComponent>(Owner, out var appearanceComponent))
{
appearanceComponent.SetData(DoorVisuals.VisualState, state);
}
}
/// <summary>
@@ -112,9 +111,9 @@ namespace Content.Shared.Doors
/// </summary>
protected virtual void OnPartialOpen()
{
if (PhysicsComponent != null)
if (_entMan.TryGetComponent<PhysicsComponent>(Owner, out var physicsComponent))
{
PhysicsComponent.CanCollide = false;
physicsComponent.CanCollide = false;
}
// we can't be crushing anyone anymore, since we're opening
CurrentlyCrushing.Clear();
@@ -125,9 +124,9 @@ namespace Content.Shared.Doors
/// </summary>
protected virtual void OnPartialClose()
{
if (PhysicsComponent != null)
if (_entMan.TryGetComponent<PhysicsComponent>(Owner, out var physicsComponent))
{
PhysicsComponent.CanCollide = true;
physicsComponent.CanCollide = true;
}
}

View File

@@ -38,8 +38,7 @@ namespace Content.Shared.Movement.Components
[Dependency] private readonly IConfigurationManager _configurationManager = default!;
[Dependency] private readonly IGameTiming _gameTiming = default!;
[ComponentDependency] private readonly MovementSpeedModifierComponent? _movementSpeed = default!;
[Dependency] private readonly IEntityManager _entityManager = default!;
public override string Name => "PlayerInputMover";
@@ -53,9 +52,17 @@ namespace Content.Shared.Movement.Components
[ViewVariables]
public Angle LastGridAngle { get; set; } = new(0);
public float CurrentWalkSpeed => _movementSpeed?.CurrentWalkSpeed ?? MovementSpeedModifierComponent.DefaultBaseWalkSpeed;
public float CurrentWalkSpeed =>
_entityManager.TryGetComponent<MovementSpeedModifierComponent>(Owner,
out var movementSpeedModifierComponent)
? movementSpeedModifierComponent.CurrentWalkSpeed
: MovementSpeedModifierComponent.DefaultBaseWalkSpeed;
public float CurrentSprintSpeed => _movementSpeed?.CurrentSprintSpeed ?? MovementSpeedModifierComponent.DefaultBaseSprintSpeed;
public float CurrentSprintSpeed =>
_entityManager.TryGetComponent<MovementSpeedModifierComponent>(Owner,
out var movementSpeedModifierComponent)
? movementSpeedModifierComponent.CurrentSprintSpeed
: MovementSpeedModifierComponent.DefaultBaseSprintSpeed;
public bool Sprinting => !HasFlag(_heldMoveButtons, MoveButtons.Walk);