SEToolbox.Models.ExplorerModel.LoadSectorDetail C# (CSharp) Method

LoadSectorDetail() private method

Loads the content from the directory and SE objects, creating object models.
private LoadSectorDetail ( ) : void
return void
        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);
        }