Files
vertical-partition-system-p…/Source/VerticalPartition/Private/VerticalPartitionDescriptor.cpp
Bonchellon 04ad6d3f25 Initial commit: Vertical Partition Streaming plugin (UE 5.7)
Bounded vertical route partition / streaming for handcrafted spiral climb maps
(Only Up / Only Climb). Not World Partition, not Level Instances as core arch.

- Z-cell segmentation + optional XY subcells, editor builder + commandlet
- NonDestructive visibility backend + streaming-level backend
- Offline HLOD proxies: MergedMesh / SimplifiedProxy (ProxyLOD)
- Universal Level Instance + Packed Level Actor + HISM support (flatten+merge)
- Vertical-aware runtime streamer (full/preload/HLOD/unload, hysteresis,
  velocity prediction, fall-risk), WP-style debug viz + vp.* console
- Safe-by-default: only static decor streams; sky/lights/gameplay stay persistent

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 17:42:41 +03:00

33 lines
708 B
C++

// Copyright IHY. Vertical Partition Streaming plugin.
#include "VerticalPartitionDescriptor.h"
int32 UVerticalPartitionDescriptor::FindCellIndex(const FVerticalCellId& Id) const
{
for (int32 i = 0; i < Cells.Num(); ++i)
{
if (Cells[i].CellId == Id)
{
return i;
}
}
return INDEX_NONE;
}
const FVerticalCellDescriptor* UVerticalPartitionDescriptor::FindCell(const FVerticalCellId& Id) const
{
const int32 Index = FindCellIndex(Id);
return Cells.IsValidIndex(Index) ? &Cells[Index] : nullptr;
}
bool UVerticalPartitionDescriptor::HasFullPackages() const
{
for (const FVerticalCellDescriptor& Cell : Cells)
{
if (Cell.FullCellPackage.IsValid())
{
return true;
}
}
return false;
}