Game Scene Split up
This commit is contained in:
@@ -130,5 +130,29 @@ namespace ProjectM.Tests
|
||||
"Health.Current must be untouched when there are no DamageEvents.");
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void God_Mode_Skips_All_Damage()
|
||||
{
|
||||
var (world, group) = MakeWorld("HealthApplyDamageGodModeWorld");
|
||||
using (world)
|
||||
{
|
||||
var em = world.EntityManager;
|
||||
var entity = em.CreateEntity(typeof(Health), typeof(DamageEvent), typeof(DebugGodMode));
|
||||
em.SetComponentData(entity, new Health { Current = 50f, Max = 50f });
|
||||
em.SetComponentEnabled<DebugGodMode>(entity, true);
|
||||
|
||||
var dmg = em.GetBuffer<DamageEvent>(entity);
|
||||
dmg.Add(new DamageEvent { Amount = 80f, SourceNetworkId = 9 });
|
||||
|
||||
group.Update();
|
||||
|
||||
Assert.AreEqual(50f, em.GetComponentData<Health>(entity).Current, 1e-4f,
|
||||
"An enabled DebugGodMode entity ignores all damage.");
|
||||
Assert.AreEqual(0, em.GetBuffer<DamageEvent>(entity).Length,
|
||||
"The damage buffer is still drained (cleared) under god-mode.");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user