public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid) { base.Init(objectBuilder, cubeGrid); m_cargoDefinition = (MyCargoContainerDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(objectBuilder.GetId()); m_inventory = new MyInventory(m_cargoDefinition.InventorySize.Volume, m_cargoDefinition.InventorySize, MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive, this); var cargoBuilder = (MyObjectBuilder_CargoContainer)objectBuilder; m_containerType = cargoBuilder.ContainerType; if (m_containerType != null && MyFakes.RANDOM_CARGO_PLACEMENT && (cargoBuilder.Inventory == null || cargoBuilder.Inventory.Items.Count == 0)) { SpawnRandomCargo(); } else { m_inventory.Init(cargoBuilder.Inventory); } if (MyPerGameSettings.InventoryMass) { m_inventory.ContentsChanged += Inventory_ContentsChanged; } m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_conveyorEndpoint)); UpdateIsWorking(); }
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(); }
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid) { base.Init(objectBuilder, cubeGrid); m_cargoDefinition = (MyCargoContainerDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(objectBuilder.GetId()); var cargoBuilder = (MyObjectBuilder_CargoContainer)objectBuilder; m_containerType = cargoBuilder.ContainerType; if (!Components.Has<MyInventoryBase>()) { m_inventory = new MyInventory(m_cargoDefinition.InventorySize.Volume, m_cargoDefinition.InventorySize, MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive, this); Components.Add<MyInventoryBase>(m_inventory); if (m_containerType != null && MyFakes.RANDOM_CARGO_PLACEMENT && (cargoBuilder.Inventory == null || cargoBuilder.Inventory.Items.Count == 0)) SpawnRandomCargo(); else m_inventory.Init(cargoBuilder.Inventory); } else { m_inventory = Components.Get<MyInventoryBase>() as MyInventory; m_inventory.Owner = this; } if(MyPerGameSettings.InventoryMass) m_inventory.ContentsChanged += Inventory_ContentsChanged; m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_conveyorEndpoint)); UpdateIsWorking(); }
private void InitDummies() { m_connectedBlocks.Clear(); m_connectionPositions = MyMultilineConveyorEndpoint.GetLinePositions(this, m_dummies, "detector_upgrade"); for (int i = 0; i < m_connectionPositions.Length; i++) { m_connectionPositions[i] = MyMultilineConveyorEndpoint.PositionToGridCoords(m_connectionPositions[i], this); m_connectedBlocks.Add(m_connectionPositions[i], null); } }
public void Refresh(MyCubeBlock parent) { ConnectionPositions.Clear(); var positions = MyMultilineConveyorEndpoint.GetLinePositions(parent, "detector_upgrade"); foreach (var position in positions) { ConnectionPositions.Add(MyMultilineConveyorEndpoint.PositionToGridCoords(position, parent)); } }
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid) { base.Init(objectBuilder, cubeGrid); m_cargoDefinition = (MyCargoContainerDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(objectBuilder.GetId()); var cargoBuilder = (MyObjectBuilder_CargoContainer)objectBuilder; m_containerType = cargoBuilder.ContainerType; if (MyFakes.ENABLE_INVENTORY_FIX) { FixSingleInventory(); } // Backward compatibility - inventory component not defined in definition files and in entity container if (this.GetInventory() == null) { MyInventory inventory = new MyInventory(m_cargoDefinition.InventorySize.Volume, m_cargoDefinition.InventorySize, MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive); Components.Add <MyInventoryBase>(inventory); if (m_containerType != null && MyFakes.RANDOM_CARGO_PLACEMENT && (cargoBuilder.Inventory == null || cargoBuilder.Inventory.Items.Count == 0)) { SpawnRandomCargo(); } } //Backward compatibility if (cargoBuilder.Inventory != null && cargoBuilder.Inventory.Items.Count > 0) { this.GetInventory().Init(cargoBuilder.Inventory); } Debug.Assert(this.GetInventory().Owner == this, "Ownership was not set!"); this.GetInventory().SetFlags(MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive); m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_conveyorEndpoint)); UpdateIsWorking(); }
public void InitializeConveyorEndpoint() { m_endpoint = new MyMultilineConveyorEndpoint(this); }
public void InitializeConveyorEndpoint() { m_endpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_endpoint)); }
public void InitializeConveyorEndpoint() { m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); }
public void InitializeConveyorEndpoint() { m_multilineConveyorEndpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_multilineConveyorEndpoint)); }
public override void Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid) { base.Init(objectBuilder, cubeGrid); m_cargoDefinition = (MyCargoContainerDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(objectBuilder.GetId()); var cargoBuilder = (MyObjectBuilder_CargoContainer)objectBuilder; m_containerType = cargoBuilder.ContainerType; if (MyFakes.ENABLE_INVENTORY_FIX) { FixSingleInventory(); } // Backward compatibility - inventory component not defined in definition files and in entity container if (this.GetInventory() == null) { MyInventory inventory = new MyInventory(m_cargoDefinition.InventorySize.Volume, m_cargoDefinition.InventorySize, MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive); Components.Add<MyInventoryBase>(inventory); if (m_containerType != null && MyFakes.RANDOM_CARGO_PLACEMENT && (cargoBuilder.Inventory == null || cargoBuilder.Inventory.Items.Count == 0)) SpawnRandomCargo(); } //Backward compatibility if (cargoBuilder.Inventory != null && cargoBuilder.Inventory.Items.Count > 0) this.GetInventory().Init(cargoBuilder.Inventory); Debug.Assert(this.GetInventory().Owner == this, "Ownership was not set!"); this.GetInventory().SetFlags(MyInventoryFlags.CanSend | MyInventoryFlags.CanReceive); m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); AddDebugRenderComponent(new Components.MyDebugRenderComponentDrawConveyorEndpoint(m_conveyorEndpoint)); UpdateIsWorking(); }
public void InitializeConveyorEndpoint() { this.m_conveyorEndpoint = new MyMultilineConveyorEndpoint(this); base.AddDebugRenderComponent(new MyDebugRenderComponentDrawConveyorEndpoint(this.m_conveyorEndpoint)); }