Beispiel #1
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            base.Init(objectBuilder, cubeGrid);
            this.m_cargoDefinition = (MyCargoContainerDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(objectBuilder.GetId());
            MyObjectBuilder_CargoContainer container = (MyObjectBuilder_CargoContainer)objectBuilder;

            this.m_containerType = container.ContainerType;
            if (MyFakes.ENABLE_INVENTORY_FIX)
            {
                base.FixSingleInventory();
            }
            if (this.GetInventory(0) == null)
            {
                MyInventory component = new MyInventory(this.m_cargoDefinition.InventorySize.Volume, this.m_cargoDefinition.InventorySize, MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive);
                base.Components.Add <MyInventoryBase>(component);
                if (((this.m_containerType != null) && MyFakes.RANDOM_CARGO_PLACEMENT) && ((container.Inventory == null) || (container.Inventory.Items.Count == 0)))
                {
                    this.SpawnRandomCargo();
                }
            }
            if ((container.Inventory != null) && (container.Inventory.Items.Count > 0))
            {
                this.GetInventory(0).Init(container.Inventory);
            }
            this.GetInventory(0).SetFlags(MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive);
            this.m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this);
            base.AddDebugRenderComponent(new MyDebugRenderComponentDrawConveyorEndpoint(this.m_conveyorEndpoint));
            base.UpdateIsWorking();
        }
Beispiel #2
0
        public override MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock(bool copy = false)
        {
            MyObjectBuilder_CargoContainer objectBuilderCubeBlock = (MyObjectBuilder_CargoContainer)base.GetObjectBuilderCubeBlock(copy);

            if (this.m_containerType != null)
            {
                objectBuilderCubeBlock.ContainerType = this.m_containerType;
            }
            return(objectBuilderCubeBlock);
        }
Beispiel #3
0
        public override MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock(bool copy = false)
        {
            MyObjectBuilder_CargoContainer cargoBuilder = (MyObjectBuilder_CargoContainer)base.GetObjectBuilderCubeBlock(copy);

            cargoBuilder.Inventory = m_inventory.GetObjectBuilder();
            if (m_containerType != null)
            {
                cargoBuilder.ContainerType = m_containerType;
            }

            return(cargoBuilder);
        }
Beispiel #4
0
        public override MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock(bool copy = false)
        {
            MyObjectBuilder_CargoContainer cargoBuilder = (MyObjectBuilder_CargoContainer)base.GetObjectBuilderCubeBlock(copy);

            //This is de/serialized through component container
            //if (!MyFakes.ENABLE_MEDIEVAL_INVENTORY)
            //    cargoBuilder.Inventory = Inventory.GetObjectBuilder();
            //else
            //    cargoBuilder.Inventory = null;

            if (m_containerType != null)
            {
                cargoBuilder.ContainerType = m_containerType;
            }

            return(cargoBuilder);
        }
        public static ulong GetBattlePoints(MyObjectBuilder_CubeBlock block)
        {
            ulong pts = GetBattlePoints(block.GetId());

            MyObjectBuilder_CargoContainer cargoContainer = block as MyObjectBuilder_CargoContainer;

            if (cargoContainer != null && cargoContainer.Inventory != null)
            {
                foreach (var item in cargoContainer.Inventory.Items)
                {
                    if (item.PhysicalContent is MyObjectBuilder_BlockItem)
                    {
                        MyObjectBuilder_BlockItem blockItem = item.PhysicalContent as MyObjectBuilder_BlockItem;
                        pts += GetBattlePoints(blockItem.BlockDefId);
                    }
                }
            }

            return(pts);
        }
Beispiel #6
0
        public override MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock(bool copy = false)
        {
            MyObjectBuilder_CargoContainer cargoBuilder = (MyObjectBuilder_CargoContainer)base.GetObjectBuilderCubeBlock(copy);

            if (!MyFakes.ENABLE_MEDIEVAL_INVENTORY)
            {
                cargoBuilder.Inventory = m_inventory.GetObjectBuilder();
            }
            else
            {
                cargoBuilder.Inventory = null;
            }

            if (m_containerType != null)
            {
                cargoBuilder.ContainerType = m_containerType;
            }

            return(cargoBuilder);
        }
Beispiel #7
0
 public CargoContainerEntity(CubeGridEntity parent, MyObjectBuilder_CargoContainer definition, Object backingObject)
     : base(parent, definition, backingObject)
 {
     m_Inventory = new InventoryEntity(definition.Inventory, InternalGetContainerInventory( ));
 }
Beispiel #8
0
 public CargoContainerEntity(CubeGridEntity parent, MyObjectBuilder_CargoContainer definition)
     : base(parent, definition)
 {
     m_Inventory = new InventoryEntity(definition.Inventory);
 }
 public CargoContainerEntity( CubeGridEntity parent, MyObjectBuilder_CargoContainer definition, Object backingObject )
     : base(parent, definition, backingObject)
 {
     m_Inventory = new InventoryEntity( definition.Inventory, InternalGetContainerInventory( ) );
 }
 public CargoContainerEntity( CubeGridEntity parent, MyObjectBuilder_CargoContainer definition )
     : base(parent, definition)
 {
     m_Inventory = new InventoryEntity( definition.Inventory );
 }