コード例 #1
0
        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);
        }
コード例 #2
0
        //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;
        }