refactor(input): extract the gameplay frame
This commit is contained in:
parent
0bc9fda9de
commit
c557038353
24 changed files with 2433 additions and 559 deletions
|
|
@ -18,7 +18,7 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () => new MovementInput(Forward: true),
|
||||
movementInput: Input(() => new MovementInput(Forward: true)),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => calls.Add("target"),
|
||||
isHidden: () => false,
|
||||
|
|
@ -82,7 +82,7 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => controller is not null,
|
||||
getController: () => controller,
|
||||
captureInput: () => new MovementInput(Forward: true),
|
||||
movementInput: Input(() => new MovementInput(Forward: true)),
|
||||
resolveLocalEntityId: () => 9u,
|
||||
handleTargeting: () => { },
|
||||
isHidden: () => false,
|
||||
|
|
@ -112,7 +112,7 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () => new MovementInput(),
|
||||
movementInput: Input(() => new MovementInput()),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => { },
|
||||
isHidden: () => false,
|
||||
|
|
@ -143,7 +143,7 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () => new MovementInput(Forward: true),
|
||||
movementInput: Input(() => new MovementInput(Forward: true)),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => positionSeenByTargetManager = controller.Position,
|
||||
isHidden: () => false,
|
||||
|
|
@ -169,11 +169,11 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () =>
|
||||
movementInput: Input(() =>
|
||||
{
|
||||
inputCaptures++;
|
||||
return new MovementInput(Forward: true);
|
||||
},
|
||||
}),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => throw new InvalidOperationException(
|
||||
"Frozen object advanced its manager tail."),
|
||||
|
|
@ -204,7 +204,7 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () => new MovementInput(),
|
||||
movementInput: Input(() => new MovementInput()),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => { },
|
||||
isHidden: () => true,
|
||||
|
|
@ -231,11 +231,11 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
var local = new RetailLocalPlayerFrameController(
|
||||
canPresentPlayer: () => true,
|
||||
getController: () => controller,
|
||||
captureInput: () =>
|
||||
movementInput: Input(() =>
|
||||
{
|
||||
inputCaptures++;
|
||||
return new MovementInput(Forward: true);
|
||||
},
|
||||
}),
|
||||
resolveLocalEntityId: () => 7u,
|
||||
handleTargeting: () => targeting++,
|
||||
isHidden: () => false,
|
||||
|
|
@ -293,4 +293,13 @@ public sealed class RetailLocalPlayerFrameControllerTests
|
|||
Assert.True(clock.IsActive);
|
||||
return controller;
|
||||
}
|
||||
|
||||
private static IMovementInputSource Input(Func<MovementInput> capture) =>
|
||||
new TestMovementInputSource(capture);
|
||||
|
||||
private sealed class TestMovementInputSource(Func<MovementInput> capture)
|
||||
: IMovementInputSource
|
||||
{
|
||||
public MovementInput Capture() => capture();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue