private void LoadSectorDetail()
{
Structures.Clear();
SpaceEngineersCore.ManageDeleteVoxelList.Clear();
ThePlayerCharacter = null;
_customColors = null;
if (ActiveWorld.SectorData != null && ActiveWorld.Checkpoint != null)
{
foreach (var entityBase in ActiveWorld.SectorData.SectorObjects)
{
var structure = StructureBaseModel.Create(entityBase, ActiveWorld.Savepath);
if (structure is StructureCharacterModel)
{
var character = structure as StructureCharacterModel;
if (ActiveWorld.Checkpoint != null && character.EntityId == ActiveWorld.Checkpoint.ControlledObject)
{
character.IsPlayer = true;
ThePlayerCharacter = character;
}
}
else if (structure is StructureCubeGridModel)
{
var cubeGrid = structure as StructureCubeGridModel;
var list = cubeGrid.GetActiveCockpits();
foreach (var cockpit in list)
{
cubeGrid.Pilots++;
var character = (StructureCharacterModel)StructureBaseModel.Create(cockpit.Pilot, null);
character.IsPilot = true;
if (ActiveWorld.Checkpoint != null && cockpit.EntityId == ActiveWorld.Checkpoint.ControlledObject)
{
ThePlayerCharacter = character;
ThePlayerCharacter.IsPlayer = true;
}
Structures.Add(character);
}
}
Structures.Add(structure);
}
CalcDistances();
}
RaisePropertyChanged(() => Structures);
}