Gravity generator rewrite (#4828)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
committed by
GitHub
parent
0e33b246db
commit
059fa9ae48
@@ -22,7 +22,10 @@ namespace Content.IntegrationTests.Tests
|
||||
id: GravityGeneratorDummy
|
||||
components:
|
||||
- type: GravityGenerator
|
||||
chargeRate: 1000000000 # Set this really high so it discharges in a single tick.
|
||||
activePower: 500
|
||||
- type: ApcPowerReceiver
|
||||
- type: UserInterface
|
||||
";
|
||||
[Test]
|
||||
public async Task Test()
|
||||
@@ -49,9 +52,8 @@ namespace Content.IntegrationTests.Tests
|
||||
generator = entityMan.SpawnEntity("GravityGeneratorDummy", grid2.ToCoordinates());
|
||||
Assert.That(generator.HasComponent<GravityGeneratorComponent>());
|
||||
Assert.That(generator.HasComponent<ApcPowerReceiverComponent>());
|
||||
var generatorComponent = generator.GetComponent<GravityGeneratorComponent>();
|
||||
|
||||
var powerComponent = generator.GetComponent<ApcPowerReceiverComponent>();
|
||||
Assert.That(generatorComponent.Status, Is.EqualTo(GravityGeneratorStatus.Unpowered));
|
||||
powerComponent.NeedsPower = false;
|
||||
});
|
||||
server.RunTicks(1);
|
||||
@@ -59,8 +61,9 @@ namespace Content.IntegrationTests.Tests
|
||||
server.Assert(() =>
|
||||
{
|
||||
var generatorComponent = generator.GetComponent<GravityGeneratorComponent>();
|
||||
var powerComponent = generator.GetComponent<ApcPowerReceiverComponent>();
|
||||
|
||||
Assert.That(generatorComponent.Status, Is.EqualTo(GravityGeneratorStatus.On));
|
||||
Assert.That(generatorComponent.GravityActive, Is.True);
|
||||
|
||||
var entityMan = IoCManager.Resolve<IEntityManager>();
|
||||
var grid1Entity = entityMan.GetEntity(grid1.GridEntityId);
|
||||
@@ -68,6 +71,22 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
Assert.That(!grid1Entity.GetComponent<GravityComponent>().Enabled);
|
||||
Assert.That(grid2Entity.GetComponent<GravityComponent>().Enabled);
|
||||
|
||||
// Re-enable needs power so it turns off again.
|
||||
// Charge rate is ridiculously high so it finishes in one tick.
|
||||
powerComponent.NeedsPower = true;
|
||||
});
|
||||
server.RunTicks(1);
|
||||
server.Assert(() =>
|
||||
{
|
||||
var generatorComponent = generator.GetComponent<GravityGeneratorComponent>();
|
||||
|
||||
Assert.That(generatorComponent.GravityActive, Is.False);
|
||||
|
||||
var entityMan = IoCManager.Resolve<IEntityManager>();
|
||||
var grid2Entity = entityMan.GetEntity(grid2.GridEntityId);
|
||||
|
||||
Assert.That(grid2Entity.GetComponent<GravityComponent>().Enabled, Is.False);
|
||||
});
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
|
||||
Reference in New Issue
Block a user