public static double GetTotalMass(this IMyFunctionalBlock ftl) { var ftld = ftl.GetFTLData(); var oldActive = Logger.Instance.Active; Logger.Instance.Active = false; Logger.Instance.LogMessage("GetTotalMass()"); Logger.Instance.IndentLevel++; double totalMass = 0; try { var entities = ftl.GetAllValidObjects(); foreach (var entity in entities) { if (entity != null && entity.Physics != null) { totalMass += entity.Physics.Mass; } } Logger.Instance.LogDebug(string.Format("Total planets: {0}, mass: {1}", entities.Count, totalMass)); //m_ftl.ShowMessageToUsersInRange(string.Format("Total mass: {0:F0}", totalMass), 5000); } catch (Exception ex) { Logger.Instance.LogException(ex); } finally { Logger.Instance.Active = oldActive; Logger.Instance.IndentLevel--; } return(totalMass); }