Example #1
0
        public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
        {
            MyObjectBuilder_Collector collector = objectBuilder as MyObjectBuilder_Collector;
            MyResourceSinkComponent   component = new MyResourceSinkComponent(1);

            component.Init(MyStringHash.GetOrCompute(this.BlockDefinition.ResourceSinkGroup), this.BlockDefinition.RequiredPowerInput, new Func <float>(this.ComputeRequiredPower));
            base.ResourceSink = component;
            base.Init(objectBuilder, cubeGrid);
            if (MyFakes.ENABLE_INVENTORY_FIX)
            {
                base.FixSingleInventory();
            }
            if (this.GetInventory(0) == null)
            {
                MyInventory inventory = new MyInventory(this.BlockDefinition.InventorySize.Volume, this.BlockDefinition.InventorySize, MyInventoryFlags.CanSend);
                base.Components.Add <MyInventoryBase>(inventory);
                inventory.Init(collector.Inventory);
            }
            if (Sync.IsServer && base.CubeGrid.CreatePhysics)
            {
                this.LoadDummies();
            }
            base.ResourceSink.IsPoweredChanged += new Action(this.Receiver_IsPoweredChanged);
            base.SlimBlock.ComponentStack.IsFunctionalChanged += new Action(this.UpdateReceiver);
            base.EnabledChanged += new Action <MyTerminalBlock>(this.UpdateReceiver);
            this.m_useConveyorSystem.SetLocalValue(collector.UseConveyorSystem);
            base.ResourceSink.Update();
            base.NeedsUpdate |= MyEntityUpdateEnum.EACH_100TH_FRAME;
        }
Example #2
0
        public override MyObjectBuilder_CubeBlock GetObjectBuilderCubeBlock(bool copy = false)
        {
            MyObjectBuilder_Collector objectBuilderCubeBlock = base.GetObjectBuilderCubeBlock(copy) as MyObjectBuilder_Collector;

            objectBuilderCubeBlock.Inventory         = this.GetInventory(0).GetObjectBuilder();
            objectBuilderCubeBlock.UseConveyorSystem = (bool)this.m_useConveyorSystem;
            return(objectBuilderCubeBlock);
        }