public MyObjectBuilder_Character FindPlayerCharacter()
{
if (SectorData == null || Checkpoint == null)
return null;
foreach (var entityBase in SectorData.SectorObjects)
{
var character = entityBase as MyObjectBuilder_Character;
if (character != null && character.EntityId == Checkpoint.ControlledObject)
{
return character;
}
var cubeGrid = entityBase as MyObjectBuilder_CubeGrid;
if (cubeGrid != null)
{
var cockpit = (MyObjectBuilder_Cockpit)cubeGrid.CubeBlocks.FirstOrDefault(e => e.EntityId == Checkpoint.ControlledObject && e is MyObjectBuilder_Cockpit && ((MyObjectBuilder_Cockpit)e).Pilot != null);
if (cockpit != null)
return cockpit.Pilot;
}
}
return null;
}