• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Cube.MyTerminalBlock类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Sandbox.Game.Entities.Cube.MyTerminalBlock的典型用法代码示例。如果您正苦于以下问题:C# MyTerminalBlock类的具体用法?C# MyTerminalBlock怎么用?C# MyTerminalBlock使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



MyTerminalBlock类属于Sandbox.Game.Entities.Cube命名空间,在下文中一共展示了MyTerminalBlock类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ChangeOwnershipToNearestPlayer

        private static void ChangeOwnershipToNearestPlayer( MyTerminalBlock block )
        {
            Wrapper.GameAction( () =>
                                {
                                    double minDist = 0;
                                    MyPlayer nearest = null;

                                    foreach ( var player in MySession.Static.Players.GetOnlinePlayers() )
                                    {
                                        var dist = Vector3D.DistanceSquared( player.GetPosition(), block.PositionComp.GetPosition() );

                                        if ( nearest == null )
                                        {
                                            nearest = player;
                                            minDist = dist;
                                        }
                                        else if ( dist < minDist )
                                            nearest = player;
                                    }

                                    if ( nearest == null )
                                        return;
                                    MyAPIGateway.Utilities.InvokeOnGameThread(()=>block.ChangeBlockOwnerRequest( nearest.Identity.IdentityId, MyOwnershipShareModeEnum.Faction ));
                                } );
        }
开发者ID:rexxar-tc,项目名称:EssentialsPlugin,代码行数:25,代码来源:PlayerBlockEnforcement.cs


示例2: AddRow

 private void AddRow(MyTerminalBlock block)
 {
     MyGuiControlTable.Row row;
     MyGuiControlTable.Cell cell;
     row = new MyGuiControlTable.Row(block);
     cell = new MyGuiControlTable.Cell(block.CustomName);
     row.AddCell(cell);
     m_selectedBlocks.Add(row);
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:9,代码来源:MyGuiScreenTriggerBlockDestroyed.cs


示例3: AddToClipboard

 private static void AddToClipboard(MyTerminalBlock block)
 {
     if (MySession.Static.ElapsedGameTime != m_lastAccess)
     {
         Clipboard.Clear();
         m_lastAccess = MySession.Static.ElapsedGameTime;
     }
     Clipboard.Add(block);
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:9,代码来源:MyScenarioBuildingBlock.cs


示例4: Add

        public void Add(MyTerminalBlock block)
        {
            if (block.MarkedForClose)
                return;
            Debug.Assert(!m_blocks.Contains(block), "Block to add is already in terminal");
            m_blocks.Add(block);

            var handler = BlockAdded;
            if (handler != null) handler(block);
        }
开发者ID:Chrus,项目名称:SpaceEngineers,代码行数:10,代码来源:MyGridTerminalSystem.cs


示例5: Add

        public void Add(MyTerminalBlock block)
        {
            if (block.MarkedForClose || block.IsBeeingRemoved)
                return;
            Debug.Assert(!m_blockTable.ContainsKey(block.EntityId), "Block to add is already in terminal");
            m_blockTable.Add(block.EntityId, block);
            m_blocks.Add(block);

            var handler = BlockAdded;
            if (handler != null) handler(block);
        }
开发者ID:liiir1985,项目名称:SpaceEngineers,代码行数:11,代码来源:MyGridTerminalSystem.cs


示例6: Initialize

        public void Initialize(Vector3 panelOrientation, bool isTwoSided, float panelOffset, MyTerminalBlock solarBlock)
        {
            m_initialized = true;

            m_panelOrientation = panelOrientation;
            m_isTwoSided = isTwoSided;
            m_panelOffset = panelOffset;
            m_solarBlock = solarBlock;

            //Warning: this will change the NeedsUpdate variable on the entity
            NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME;
        }
开发者ID:stanhebben,项目名称:SpaceEngineers,代码行数:12,代码来源:MySolarGameLogicComponent.cs


示例7: MyDebugRenderComponentSolarPanel

        public MyDebugRenderComponentSolarPanel(MyTerminalBlock solarBlock):base(solarBlock)
        {
            m_solarBlock = solarBlock;

            MyGameLogicComponent logicComponent;
            if (m_solarBlock.Components.TryGet(out logicComponent))
            {
                m_solarComponent = logicComponent as MySolarGameLogicComponent;
            }

            if (m_solarComponent == null)
            {
                System.Diagnostics.Debug.Fail("No solar component was found!");
            }
        }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:15,代码来源:MyDebugRenderComponentSolarPanel.cs


示例8: Remove

        public void Remove(MyTerminalBlock block)
        {
            if (block.MarkedForClose)
                return;
            Debug.Assert(m_blocks.Contains(block), "Block to remove is not in terminal");
            m_blocks.Remove(block);

            for (int i = 0; i < BlockGroups.Count; i++)
            {
                var group = BlockGroups[i];
                if (group.Blocks.Contains(block))
                    group.Blocks.Remove(block);
                if (group.Blocks.Count == 0)
                {
                    RemoveGroup(group);
                    i--;
                }
            }

            var handler = BlockRemoved;
            if (handler != null) handler(block);
        }
开发者ID:Chrus,项目名称:SpaceEngineers,代码行数:22,代码来源:MyGridTerminalSystem.cs


示例9: TerminalSystem_BlockRemoved

 void TerminalSystem_BlockRemoved(MyTerminalBlock obj)
 {
     obj.CustomNameChanged -= block_CustomNameChanged;
     obj.PropertiesChanged -= block_CustomNameChanged;
     Debug.Assert(m_blockListbox != null);
     if (m_blockListbox != null && (obj.ShowInTerminal || m_showAllTerminalBlocks))
     { 
         m_blockListbox.Remove((item) => (item.UserData == obj));
     }
 }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:10,代码来源:MyTerminalControlPanel.cs


示例10: TerminalSystem_BlockAdded

 void TerminalSystem_BlockAdded(MyTerminalBlock obj)
 {
     AddBlockToList(obj);
 }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:4,代码来源:MyTerminalControlPanel.cs


示例11: thrust_EnabledChanged

 private void thrust_EnabledChanged(MyTerminalBlock obj)
 {
     MarkDirty();
     if (CubeGrid.Physics != null && !CubeGrid.Physics.RigidBody.IsActive)
         CubeGrid.ActivatePhysics();
 }
开发者ID:2asoft,项目名称:SpaceEngineers,代码行数:6,代码来源:MyThrusterBlockThrustComponent.cs


示例12: reflector_EnabledChanged

 private void reflector_EnabledChanged(MyTerminalBlock obj)
 {
     Debug.Assert(obj is MyReflectorLight);
     m_reflectorsEnabledNeedsRefresh = true;
 }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:5,代码来源:MyGridReflectorLightSystem.cs


示例13: block_ShowInTerminalChanged

 void block_ShowInTerminalChanged(MyTerminalBlock obj)
 {
     ClearBlockList();
     PopulateBlockList();
 }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:5,代码来源:MyTerminalControlPanel.cs


示例14: UpdateCubeBlock

        public void UpdateCubeBlock(MyTerminalBlock block)
        {

            if (block == null)
                return;

            if (m_terminalSystem != null)
            {
                m_terminalSystem.BlockAdded -= TerminalSystem_BlockAdded;
                m_terminalSystem.BlockRemoved -= TerminalSystem_BlockRemoved;
                m_terminalSystem.GroupAdded -= TerminalSystem_GroupAdded;
                m_terminalSystem.GroupRemoved -= TerminalSystem_GroupRemoved;
            }

            var grid = block.CubeGrid;
            m_terminalSystem = grid.GridSystems.TerminalSystem;
            m_tmpGroup = new MyBlockGroup(grid);

            m_terminalSystem.BlockAdded += TerminalSystem_BlockAdded;
            m_terminalSystem.BlockRemoved += TerminalSystem_BlockRemoved;
            m_terminalSystem.GroupAdded += TerminalSystem_GroupAdded;
            m_terminalSystem.GroupRemoved += TerminalSystem_GroupRemoved;

            SelectBlocks(new MyTerminalBlock[] { block });


        }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:27,代码来源:MyTerminalControlPanel.cs


示例15: block_CustomNameChanged

        void block_CustomNameChanged(MyTerminalBlock obj)
        {
            System.Diagnostics.Debug.Assert(m_blockListbox != null, "block_CustomNameChanged was not unregistered!");

            if (m_blockListbox == null)
                return;

            ProfilerShort.Begin("MyTerminalControlPanel.block_CustomNameChanged");
            foreach (var item in m_blockListbox.Items)
            {
                if (item.UserData == obj)
                {
                    UpdateItemAppearance(obj, item);
                    break;
                }
            }

            if (CurrentBlocks.Count > 0 && CurrentBlocks[0] == obj)
                m_blockNameLabel.Text = obj.CustomName.ToString();

            ProfilerShort.End();
        }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:22,代码来源:MyTerminalControlPanel.cs


示例16: assembler_CustomNameChanged

        void assembler_CustomNameChanged(MyTerminalBlock block)
        {
            Debug.Assert(block is MyAssembler && m_assemblersByKey.ContainsValue(block as MyAssembler));

            foreach (var entry in m_assemblersByKey)
            {
                if (entry.Value == block)
                {
                    var comboItem = m_comboboxAssemblers.TryGetItemByKey(entry.Key);
                    comboItem.Value.Clear().AppendStringBuilder(block.CustomName);
                }
            }
        }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:13,代码来源:MyTerminalProductionController.cs


示例17: TerminalSystem_BlockRemoved

        void TerminalSystem_BlockRemoved(MyTerminalBlock obj)
        {
            var removedAssembler = obj as MyAssembler;
            if (removedAssembler != null)
            {
                removedAssembler.CustomNameChanged -= assembler_CustomNameChanged;
                int? key = null;
                foreach (var entry in m_assemblersByKey)
                {
                    if (entry.Value == removedAssembler)
                    {
                        key = entry.Key;
                        break;
                    }
                }
                if (key.HasValue)
                {
                    m_assemblersByKey.Remove(key.Value);
                    m_comboboxAssemblers.RemoveItem(key.Value);
                }

                if (removedAssembler == m_selectedAssembler)
                {
                    if (m_assemblersByKey.Count > 0)
                        m_comboboxAssemblers.SelectItemByIndex(0);
                    else
                        ShowError(MySpaceTexts.ScreenTerminalError_NoAssemblers, m_controlsParent);
                }
            }
        }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:30,代码来源:MyTerminalProductionController.cs


示例18: TerminalSystem_BlockAdded

 void TerminalSystem_BlockAdded(MyTerminalBlock obj)
 {
     var assembler = obj as MyAssembler;
     if (assembler != null)
     {
         if (m_assemblersByKey.Count == 0)
         {
             HideError(m_controlsParent);
         }
         var key = m_assemblerKeyCounter++;
         m_assemblersByKey.Add(key, assembler);
         m_comboboxAssemblers.AddItem(key, assembler.CustomName);
         if (m_assemblersByKey.Count == 1)
             m_comboboxAssemblers.SelectItemByIndex(0);
         assembler.CustomNameChanged += assembler_CustomNameChanged;
     }
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:17,代码来源:MyTerminalProductionController.cs


示例19: UpdateReceiver

 private void UpdateReceiver(MyTerminalBlock block)
 {
     ResourceSink.Update();
 }
开发者ID:ChristianHeinz71,项目名称:SpaceEngineers,代码行数:4,代码来源:MyShipConnector.cs


示例20: gyro_PropertiesChanged

 void gyro_PropertiesChanged(MyTerminalBlock sender)
 {
     MarkDirty();
 }
开发者ID:fluxit,项目名称:SpaceEngineers,代码行数:4,代码来源:MyGridGyroSystem.cs



注:本文中的Sandbox.Game.Entities.Cube.MyTerminalBlock类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# EntityComponents.MyResourceSinkComponent类代码示例发布时间:2022-05-26
下一篇:
C# Cube.MySlimBlock类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap