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; }
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); }