public override MyObjectBuilder_Trigger GetObjectBuilder() { MyObjectBuilder_TriggerBlockDestroyed ob = (MyObjectBuilder_TriggerBlockDestroyed)base.GetObjectBuilder(); ob.BlockIds = new List <long>(); foreach (var block in m_blocks) { if (block.Value == BlockState.Ok) { ob.BlockIds.Add(block.Key.EntityId); } } ob.SingleMessage = SingleMessage; return(ob); }
//OB: public override void Init(MyObjectBuilder_Trigger builder) { base.Init(builder); MyObjectBuilder_TriggerBlockDestroyed ob = (MyObjectBuilder_TriggerBlockDestroyed)builder; MyTerminalBlock block; foreach (var id in ob.BlockIds) { if (MyEntities.TryGetEntityById <MyTerminalBlock>(id, out block)) { m_blocks.Add(block, BlockState.Ok); } else { Debug.Fail("Bad entity ID in MyObjectBuilder_TriggerBlockDestroyed"); } } SingleMessage = ob.SingleMessage; }