fix(items): complete retail corpse looting feedback
Route corpse Use through the shared ItemHolder policy so Stuck corpses open instead of being sent as pickup requests. Restore the framed, horizontally resizable external-container strip and use a compact initial width. Port retail's target-list pending item projection so loot is marked in the chosen inventory slot without changing canonical ownership before the server confirms. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
20ce67b625
commit
d51a0fc825
13 changed files with 275 additions and 102 deletions
|
|
@ -14,6 +14,40 @@ public sealed class ExternalContainerControllerTests
|
|||
|
||||
private sealed class TestElement : UiElement { }
|
||||
|
||||
[Fact]
|
||||
public void WindowPolicy_AddsOuterFrameAndAllowsHorizontalResize()
|
||||
{
|
||||
var screen = new UiRoot { Width = 1280f, Height = 720f };
|
||||
var root = new TestElement
|
||||
{
|
||||
Left = 0f,
|
||||
Top = 400f,
|
||||
Width = 800f,
|
||||
Height = 110f,
|
||||
};
|
||||
RetailWindowFrame.Options options =
|
||||
ExternalContainerController.CreateWindowOptions(root);
|
||||
|
||||
RetailWindowHandle handle = RetailWindowFrame.Mount(
|
||||
screen,
|
||||
root,
|
||||
static _ => (0u, 0, 0),
|
||||
options);
|
||||
|
||||
var frame = Assert.IsType<UiNineSlicePanel>(handle.OuterFrame);
|
||||
Assert.Equal(710f, frame.Width);
|
||||
Assert.Equal(120f, frame.Height);
|
||||
Assert.Equal(170f, frame.MinWidth);
|
||||
Assert.True(frame.Draggable);
|
||||
Assert.True(frame.Resizable);
|
||||
Assert.True(frame.ResizeX);
|
||||
Assert.False(frame.ResizeY);
|
||||
Assert.Equal(ResizeEdges.Left | ResizeEdges.Right, frame.ResizableEdges);
|
||||
Assert.True(frame.ConstrainResizeToParent);
|
||||
Assert.False(frame.DrawCenterFill);
|
||||
Assert.Equal(700f, root.Width);
|
||||
}
|
||||
|
||||
private sealed class Harness : IDisposable
|
||||
{
|
||||
public readonly ExternalContainerState State = new();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue