private void LST_Entries_SelectedIndexChanged(object sender, EventArgs e)
        {
            _currentItem           = PluginSettings.Instance.ProtectedItems[LST_Entries.SelectedIndex];
            CMB_Mode.SelectedIndex = 0;
            TXT_EntityId.Text      = _currentItem.EntityId.ToString();
            var modeEnum = (ProtectedItem.ProtectionModeEnum)CMB_Mode.SelectedIndex;

            if (!_currentItem.ProtectionSettingsDict.Dictionary.ContainsKey(modeEnum))
            {
                _currentItem.ProtectionSettingsDict.Dictionary.Add(modeEnum, new ProtectedItem.ProtectionSettings());
            }
            _currentSettings = _currentItem.ProtectionSettingsDict[modeEnum];
            LoadCurrentSettings();
        }
        private void ProtectedEntity(IMyEntity entity, ProtectedItem item)
        {
            //Logging.WriteLineAndConsole(string.Format("Protecting: {0}", entity.EntityId));
            //CubeGridEntity gridEntity = new CubeGridEntity((MyObjectBuilder_CubeGrid)entity.GetObjectBuilder(), entity);
            CubeGridEntity           gridEntity = (CubeGridEntity)GameEntityManager.GetEntity(entity.EntityId);
            MyObjectBuilder_CubeGrid grid       = (MyObjectBuilder_CubeGrid)entity.GetObjectBuilder();

            int count = 0;

            while (gridEntity.IsLoading)
            {
                if (count >= 20)
                {
                    return;
                }

                Thread.Sleep(100);
                count++;
            }

            bool found = false;

            /*
             * foreach(CubeBlockEntity block in gridEntity.CubeBlocks)
             * {
             *      if (block.IntegrityPercent != item.IntegrityIncrease || block.BuildPercent != item.IntegrityIncrease || block.BoneDamage > 0f)
             *      {
             *              found = true;
             *              block.FixBones(0, 100);
             *              block.IntegrityPercent = item.IntegrityIncrease;
             *              block.BuildPercent = item.IntegrityIncrease;
             *      }
             * }
             */
            if (found)
            {
                Logging.WriteLineAndConsole(string.Format("Repaired Grid: {0}", gridEntity.EntityId));
            }
        }
 private void LST_Entries_SelectedIndexChanged(object sender, EventArgs e)
 {
     _currentItem = PluginSettings.Instance.ProtectedItems[LST_Entries.SelectedIndex];
     CMB_Mode.SelectedIndex = 0;
     TXT_EntityId.Text = _currentItem.EntityId.ToString();
     var modeEnum = (ProtectedItem.ProtectionModeEnum)CMB_Mode.SelectedIndex;
     if (!_currentItem.ProtectionSettingsDict.Dictionary.ContainsKey(modeEnum))
         _currentItem.ProtectionSettingsDict.Dictionary.Add(modeEnum, new ProtectedItem.ProtectionSettings());
     _currentSettings = _currentItem.ProtectionSettingsDict[modeEnum];
     LoadCurrentSettings();
 }