Replace the disabled if(false) outdoor→indoor branch with real portal-plane crossing logic. LandblockPhysics now carries IReadOnlyList<PortalPlane> Portals (populated at load time; GameWindow passes Array.Empty for now until Task 3). Resolve logic: - Outdoor player: tests all portals where TargetCellId==0xFFFF (outside-facing); crossing enters the portal's OwnerCellId. - Indoor player: tests portals where OwnerCellId==currentCell; crossing to TargetCellId==0xFFFF exits to terrain, otherwise transitions room-to-room. - Landblock boundary crossing: unchanged — candidatePos landblock lookup already picks the adjacent block's terrain naturally. Tests: renamed disabled test → Resolve_OutdoorThroughPortal_TransitionsToIndoor; added Resolve_IndoorThroughExitPortal_TransitionsToOutdoor and Resolve_LandblockBoundary_PicksAdjacentTerrain. 274 tests green. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| AcDream.Core.Net.Tests | ||
| AcDream.Core.Tests | ||
| AcDream.Core.Tests.Fixtures.HelloPlugin | ||