//Disables all beacons and antennas and deletes the ship. public void DeleteShip() { var lstSlimBlock = new List <IMySlimBlock>(); _cubeGrid.GetBlocks(lstSlimBlock, (x) => x.FatBlock is Sandbox.ModAPI.IMyRadioAntenna); foreach (var block in lstSlimBlock) { Sandbox.ModAPI.IMyRadioAntenna antenna = (Sandbox.ModAPI.IMyRadioAntenna)block.FatBlock; ITerminalAction act = antenna.GetActionWithName("OnOff_Off"); act.Apply(antenna); } lstSlimBlock = new List <IMySlimBlock>(); _cubeGrid.GetBlocks(lstSlimBlock, (x) => x.FatBlock is Sandbox.ModAPI.IMyBeacon); foreach (var block in lstSlimBlock) { Sandbox.ModAPI.IMyBeacon beacon = (Sandbox.ModAPI.IMyBeacon)block.FatBlock; ITerminalAction act = beacon.GetActionWithName("OnOff_Off"); act.Apply(beacon); } _cubeGrid.SyncObject.SendCloseRequest(); MyAPIGateway.Entities.RemoveEntity(_cubeGrid as IMyEntity); //_cubeGrid = null; }
//Disables all beacons and antennas and deletes the ship. public void DeleteShip() { var lstSlimBlock = new List <IMySlimBlock>(); Ship.GetBlocks(lstSlimBlock, (x) => x.FatBlock is Sandbox.ModAPI.IMyRadioAntenna); foreach (var block in lstSlimBlock) { Sandbox.ModAPI.IMyRadioAntenna antenna = (Sandbox.ModAPI.IMyRadioAntenna)block.FatBlock; ITerminalAction act = antenna.GetActionWithName("OnOff_Off"); act.Apply(antenna); } lstSlimBlock = new List <IMySlimBlock>(); Ship.GetBlocks(lstSlimBlock, (x) => x.FatBlock is Sandbox.ModAPI.IMyBeacon); foreach (var block in lstSlimBlock) { Sandbox.ModAPI.IMyBeacon beacon = (Sandbox.ModAPI.IMyBeacon)block.FatBlock; ITerminalAction act = beacon.GetActionWithName("OnOff_Off"); act.Apply(beacon); } MyAPIGateway.Entities.RemoveEntity(Ship as IMyEntity); Ship = null; }