protected override void Init(MyObjectBuilder_DefinitionBase builder) { var ob = (MyObjectBuilder_MrzItemSizeConstraint)builder; _equality = ob.Equality; _size = ob.Size; // we assume all blocks that go into inventory will be small blocks. _blockSize = MyCubeGridDefinitions.GetCubeSize(MyCubeSize.Small); }
public void Init() { PositionComp.LocalAABB = new BoundingBox(new Vector3(-SlimBlock.CubeGrid.GridSize / 2), new Vector3(SlimBlock.CubeGrid.GridSize / 2)); Components.Add <MyUseObjectsComponentBase>(new MyUseObjectsComponent()); Matrix localMatrix; string currModel; if (BlockDefinition.CubeDefinition != null) { //Ensure we have always only one distinct orientation use SlimBlock.Orientation = MyCubeGridDefinitions.GetTopologyUniqueOrientation(BlockDefinition.CubeDefinition.CubeTopology, Orientation); } CalcLocalMatrix(out localMatrix, out currModel); if (!string.IsNullOrEmpty(currModel)) { Init(null, currModel, null, null, null); OnModelChange(); } Render.EnableColorMaskHsv = true; // Can't skip Render.SkipIfTooSmall = false; CheckConnectionAllowed = false; WorldMatrix = localMatrix; Save = false; UseObjectsComponent.LoadDetectorsFromModel(); SlimBlock.ComponentStack.IsFunctionalChanged += ComponentStack_IsFunctionalChanged; }