Refactor to use the new multiple controller system (#1462)

* Transition code to new controller system

* Fix shuttles not moving

* Fix throwing

* Fix guns

* Change hands to use physics.Stop() and remove item fumble method
This commit is contained in:
DrSmugleaf
2020-07-23 18:33:37 +02:00
committed by GitHub
parent 3296079400
commit 64672fdc31
13 changed files with 114 additions and 101 deletions

View File

@@ -75,18 +75,14 @@ namespace Content.Server.Throw
throwSourceEnt.Transform.LocalRotation = angle.GetCardinalDir().ToAngle();
}
if (!thrownEnt.TryGetComponent(out IPhysicsComponent physComp))
physComp = thrownEnt.AddComponent<PhysicsComponent>();
// scaling is handled elsewhere, this is just multiplying by 10 independent of timing as a fix until elsewhere values are updated
var spd = throwForce * 10;
var timing = IoCManager.Resolve<IGameTiming>();
projComp.StartThrow(angle.ToVec(), spd);
// scaling is handled elsewhere, this is just multiplying by 60 independent of timing as a fix until elsewhere values are updated
var spd = throwForce * 60;
projComp.StartThrow(angle.ToVec() * spd);
if (throwSourceEnt != null && throwSourceEnt.TryGetComponent<IPhysicsComponent>(out var physics)
&& physics.Controller is MoverController mover)
if (throwSourceEnt != null &&
throwSourceEnt.TryGetComponent<IPhysicsComponent>(out var physics) &&
physics.TryGetController(out MoverController mover))
{
var physicsMgr = IoCManager.Resolve<IPhysicsManager>();