简单重构拆分 SimulationWorld
This commit is contained in:
@@ -57,7 +57,7 @@ namespace SepCore.Tests.PlayMode
|
||||
playerObject.transform.position = Vector3.zero;
|
||||
|
||||
_world.SyncPlayerMovementInput(playerObject.transform, true, Vector3.right, 6f);
|
||||
_world.Tick(new SimulationTickContext(0.5f, 0.5f, playerObject.transform.position));
|
||||
_world.Tick(new SimulationTickContext(0.5f, playerObject.transform.position));
|
||||
|
||||
yield return null;
|
||||
|
||||
@@ -104,33 +104,30 @@ namespace SepCore.Tests.PlayMode
|
||||
{
|
||||
_world.SyncEnemyMovementInput(4001, false, Vector3.left, 5f, true, 0.45f, 2);
|
||||
|
||||
MethodInfo upsertEnemyMethod = typeof(SimulationWorld).GetMethod("UpsertEnemy", NonPublicInstance);
|
||||
upsertEnemyMethod.Invoke(_world, new object[]
|
||||
_world.UpsertEnemy(new EnemySimData
|
||||
{
|
||||
new EnemySimData
|
||||
{
|
||||
EntityId = 4001,
|
||||
Position = Vector3.zero,
|
||||
Forward = Vector3.forward,
|
||||
Rotation = Quaternion.identity,
|
||||
Speed = 5f,
|
||||
AttackRange = 0.5f,
|
||||
AvoidEnemyOverlap = true,
|
||||
EnemyBodyRadius = 0.45f,
|
||||
SeparationIterations = 2
|
||||
}
|
||||
EntityId = 4001,
|
||||
Position = Vector3.zero,
|
||||
Forward = Vector3.forward,
|
||||
Rotation = Quaternion.identity,
|
||||
Speed = 5f,
|
||||
AttackRange = 0.5f,
|
||||
AvoidEnemyOverlap = true,
|
||||
EnemyBodyRadius = 0.45f,
|
||||
SeparationIterations = 2
|
||||
});
|
||||
|
||||
_world.SyncEnemyMovementInput(4001, false, Vector3.left, 5f, true, 0.45f, 2);
|
||||
_world.Tick(new SimulationTickContext(1f, 1f, new Vector3(8f, 0f, 0f)));
|
||||
_world.Tick(new SimulationTickContext(1f, new Vector3(8f, 0f, 0f)));
|
||||
|
||||
yield return null;
|
||||
|
||||
Assert.That(_world.Enemies.Count, Is.EqualTo(1));
|
||||
Assert.That(_world.Enemies[0].Position.x, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(_world.Enemies[0].Position.y, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(_world.Enemies[0].Position.z, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(_world.Enemies[0].State, Is.EqualTo(0));
|
||||
Assert.That(_world.EnemyCount, Is.EqualTo(1));
|
||||
Assert.That(_world.TryGetEnemySnapshot(4001, out EnemySimData enemy), Is.True);
|
||||
Assert.That(enemy.Position.x, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(enemy.Position.y, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(enemy.Position.z, Is.EqualTo(0f).Within(0.0001f));
|
||||
Assert.That(enemy.State, Is.EqualTo(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user