Exemple #1
0
        public static ToolbarItem FromItem(MyToolbarItem item)
        {
            ToolbarItem item2 = new ToolbarItem {
                EntityID = 0L
            };

            if (item is MyToolbarItemTerminalBlock)
            {
                MyObjectBuilder_ToolbarItemTerminalBlock objectBuilder = item.GetObjectBuilder() as MyObjectBuilder_ToolbarItemTerminalBlock;
                item2.EntityID   = objectBuilder.BlockEntityId;
                item2.Action     = objectBuilder._Action;
                item2.Parameters = objectBuilder.Parameters;
            }
            else if (!(item is MyToolbarItemTerminalGroup))
            {
                if (item is MyToolbarItemWeapon)
                {
                    item2.GunId = new SerializableDefinitionId?((item.GetObjectBuilder() as MyObjectBuilder_ToolbarItemWeapon).DefinitionId);
                }
            }
            else
            {
                MyObjectBuilder_ToolbarItemTerminalGroup objectBuilder = item.GetObjectBuilder() as MyObjectBuilder_ToolbarItemTerminalGroup;
                item2.EntityID   = objectBuilder.BlockEntityId;
                item2.Action     = objectBuilder._Action;
                item2.GroupName  = objectBuilder.GroupName;
                item2.Parameters = objectBuilder.Parameters;
            }
            return(item2);
        }
        public static MyObjectBuilder_ToolbarItemTerminalBlock TerminalBlockObjectBuilderFromBlock(MyTerminalBlock block)
        {
            MyObjectBuilder_ToolbarItemTerminalBlock output = MyObjectBuilderSerializer.CreateNewObject <MyObjectBuilder_ToolbarItemTerminalBlock>();

            output.BlockEntityId = block.EntityId;
            output.Action        = null;

            return(output);
        }
        public override MyObjectBuilder_ToolbarItem GetObjectBuilder()
        {
            MyObjectBuilder_ToolbarItemTerminalBlock output = (MyObjectBuilder_ToolbarItemTerminalBlock)MyToolbarItemFactory.CreateObjectBuilder(this);

            output.BlockEntityId = this.m_blockEntityId;
            output.Action        = this.ActionId;

            output.Parameters.Clear();
            foreach (var item in m_parameters)
            {
                output.Parameters.Add(item.GetObjectBuilder());
            }

            return(output);
        }
Exemple #4
0
        public static MyToolbarItem ToItem(ToolbarItem msgItem)
        {
            MyToolbarItem item = null;

            if (msgItem.GunId != null)
            {
                MyObjectBuilder_ToolbarItemWeapon data = MyToolbarItemFactory.WeaponObjectBuilder();
                data.defId = msgItem.GunId.Value;
                item       = MyToolbarItemFactory.CreateToolbarItem(data);
            }
            else if (string.IsNullOrEmpty(msgItem.GroupName))
            {
                MyTerminalBlock block;
                if (Sandbox.Game.Entities.MyEntities.TryGetEntityById <MyTerminalBlock>(msgItem.EntityID, out block, false))
                {
                    MyObjectBuilder_ToolbarItemTerminalBlock data = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                    data._Action    = msgItem.Action;
                    data.Parameters = msgItem.Parameters;
                    item            = MyToolbarItemFactory.CreateToolbarItem(data);
                }
            }
            else
            {
                MyCubeBlock block2;
                if (Sandbox.Game.Entities.MyEntities.TryGetEntityById <MyCubeBlock>(msgItem.EntityID, out block2, false))
                {
                    string       groupName = msgItem.GroupName;
                    MyBlockGroup group     = block2.CubeGrid.GridSystems.TerminalSystem.BlockGroups.Find(x => x.Name.ToString() == groupName);
                    if (group != null)
                    {
                        MyObjectBuilder_ToolbarItemTerminalGroup data = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                        data._Action       = msgItem.Action;
                        data.Parameters    = msgItem.Parameters;
                        data.BlockEntityId = msgItem.EntityID;
                        item = MyToolbarItemFactory.CreateToolbarItem(data);
                    }
                }
            }
            return(item);
        }