feat(ui): port retail appraisal panel
Preserve retail's one-pending-appraisal busy lifetime, parse the complete gated response, and mount the authored examination layout in the shared main-panel host. Keep known 3D preview and inscription-write gaps explicit in AP-110.
This commit is contained in:
parent
6b1ae4fb76
commit
643cdfe66e
24 changed files with 17132 additions and 40 deletions
|
|
@ -301,15 +301,54 @@ public sealed class ItemInteractionControllerTests
|
|||
|
||||
Assert.True(h.Controller.ExamineSelectedOrEnterMode(Player));
|
||||
Assert.Equal(new[] { Player }, h.Examines);
|
||||
Assert.Equal(1, h.Controller.BusyCount);
|
||||
|
||||
Assert.True(h.Controller.ExamineSelectedOrEnterMode(0u));
|
||||
Assert.Equal(InteractionModeKind.Examine, h.Controller.InteractionState.Current.Kind);
|
||||
Assert.Equal(ItemPrimaryClickResult.ConsumedSuccess,
|
||||
h.Controller.OfferPrimaryClick(Pack));
|
||||
Assert.Equal(new[] { Player, Pack }, h.Examines);
|
||||
Assert.Equal(1, h.Controller.BusyCount);
|
||||
Assert.False(h.Controller.IsAnyTargetModeActive);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AppraisalResponse_releasesOneBusyReferenceAndAcceptsCurrentRefresh()
|
||||
{
|
||||
var h = new Harness();
|
||||
|
||||
Assert.True(h.Controller.ExamineSelectedOrEnterMode(Player));
|
||||
Assert.True(h.Controller.ExamineSelectedOrEnterMode(Pack));
|
||||
Assert.Equal(1, h.Controller.BusyCount);
|
||||
|
||||
Assert.False(h.Controller.AcceptAppraisalResponse(Player).Accepted);
|
||||
Assert.Equal(1, h.Controller.BusyCount);
|
||||
|
||||
var first = h.Controller.AcceptAppraisalResponse(Pack);
|
||||
Assert.True(first.Accepted);
|
||||
Assert.True(first.FirstResponse);
|
||||
Assert.Equal(0, h.Controller.BusyCount);
|
||||
Assert.Equal(Pack, h.Controller.CurrentAppraisalId);
|
||||
|
||||
var refresh = h.Controller.AcceptAppraisalResponse(Pack);
|
||||
Assert.True(refresh.Accepted);
|
||||
Assert.False(refresh.FirstResponse);
|
||||
Assert.Equal(0, h.Controller.BusyCount);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void RefreshCurrentAppraisal_sendsWithoutAcquiringBusyReference()
|
||||
{
|
||||
var h = new Harness();
|
||||
Assert.True(h.Controller.ExamineSelectedOrEnterMode(Pack));
|
||||
Assert.True(h.Controller.AcceptAppraisalResponse(Pack).Accepted);
|
||||
|
||||
Assert.True(h.Controller.RefreshCurrentAppraisal());
|
||||
|
||||
Assert.Equal(new[] { Pack, Pack }, h.Examines);
|
||||
Assert.Equal(0, h.Controller.BusyCount);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void SelfTarget_sendsUseWithTargetAndClearsTargetMode()
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue