protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_CompoundBlockTemplateDefinition; MyDebug.AssertDebug(ob != null); if (ob.Bindings != null) { this.Bindings = new MyCompoundBlockBinding[ob.Bindings.Length]; for (int i = 0; i < ob.Bindings.Length; ++i) { MyCompoundBlockBinding binding = new MyCompoundBlockBinding(); binding.BuildType = ob.Bindings[i].BuildType != null ? ob.Bindings[i].BuildType.ToLower() : null; binding.Multiple = ob.Bindings[i].Multiple; if (ob.Bindings[i].RotationBinds != null && ob.Bindings[i].RotationBinds.Length > 0) { binding.RotationBinds = new MyCompoundBlockRotationBinding[ob.Bindings[i].RotationBinds.Length]; for (int rotationBind = 0; rotationBind < ob.Bindings[i].RotationBinds.Length; ++rotationBind) { if (ob.Bindings[i].RotationBinds[rotationBind].Rotations != null && ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length > 0) { binding.RotationBinds[rotationBind] = new MyCompoundBlockRotationBinding(); binding.RotationBinds[rotationBind].BuildTypeReference = ob.Bindings[i].RotationBinds[rotationBind].BuildTypeReference != null ? ob.Bindings[i].RotationBinds[rotationBind].BuildTypeReference.ToLower() : null; binding.RotationBinds[rotationBind].Rotations = new MyBlockOrientation[ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length]; for (int rotNo = 0; rotNo < ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length; ++rotNo) { binding.RotationBinds[rotationBind].Rotations[rotNo] = ob.Bindings[i].RotationBinds[rotationBind].Rotations[rotNo]; } } } } this.Bindings[i] = binding; } } else { this.Bindings = null; } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); var ob = builder as MyObjectBuilder_CompoundBlockTemplateDefinition; MyDebug.AssertDebug(ob != null); if (ob.Bindings != null) { this.Bindings = new MyCompoundBlockBinding[ob.Bindings.Length]; for (int i = 0; i < ob.Bindings.Length; ++i) { MyCompoundBlockBinding binding = new MyCompoundBlockBinding(); binding.BuildType = ob.Bindings[i].BuildType != null ? ob.Bindings[i].BuildType.ToLower() : null; binding.Multiple = ob.Bindings[i].Multiple; if (ob.Bindings[i].RotationBinds != null && ob.Bindings[i].RotationBinds.Length > 0) { binding.RotationBinds = new MyCompoundBlockRotationBinding[ob.Bindings[i].RotationBinds.Length]; for (int rotationBind = 0; rotationBind < ob.Bindings[i].RotationBinds.Length; ++rotationBind) { if (ob.Bindings[i].RotationBinds[rotationBind].Rotations != null && ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length > 0) { binding.RotationBinds[rotationBind] = new MyCompoundBlockRotationBinding(); binding.RotationBinds[rotationBind].BuildTypeReference = ob.Bindings[i].RotationBinds[rotationBind].BuildTypeReference != null ? ob.Bindings[i].RotationBinds[rotationBind].BuildTypeReference.ToLower() : null; binding.RotationBinds[rotationBind].Rotations = new MyBlockOrientation[ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length]; for (int rotNo = 0; rotNo < ob.Bindings[i].RotationBinds[rotationBind].Rotations.Length; ++rotNo) { binding.RotationBinds[rotationBind].Rotations[rotNo] = ob.Bindings[i].RotationBinds[rotationBind].Rotations[rotNo]; } } } } this.Bindings[i] = binding; } } else { this.Bindings = null; } }
protected override void Init(MyObjectBuilder_DefinitionBase builder) { base.Init(builder); MyObjectBuilder_CompoundBlockTemplateDefinition definition = builder as MyObjectBuilder_CompoundBlockTemplateDefinition; if (definition.Bindings == null) { this.Bindings = null; } else { this.Bindings = new MyCompoundBlockBinding[definition.Bindings.Length]; for (int i = 0; i < definition.Bindings.Length; i++) { MyCompoundBlockBinding binding = new MyCompoundBlockBinding { BuildType = MyStringId.GetOrCompute(definition.Bindings[i].BuildType?.ToLower()), Multiple = definition.Bindings[i].Multiple }; if ((definition.Bindings[i].RotationBinds != null) && (definition.Bindings[i].RotationBinds.Length != 0)) { binding.RotationBinds = new MyCompoundBlockRotationBinding[definition.Bindings[i].RotationBinds.Length]; for (int j = 0; j < definition.Bindings[i].RotationBinds.Length; j++) { if ((definition.Bindings[i].RotationBinds[j].Rotations != null) && (definition.Bindings[i].RotationBinds[j].Rotations.Length != 0)) { binding.RotationBinds[j] = new MyCompoundBlockRotationBinding(); binding.RotationBinds[j].BuildTypeReference = MyStringId.GetOrCompute(definition.Bindings[i].RotationBinds[j].BuildTypeReference?.ToLower()); binding.RotationBinds[j].Rotations = new MyBlockOrientation[definition.Bindings[i].RotationBinds[j].Rotations.Length]; for (int k = 0; k < definition.Bindings[i].RotationBinds[j].Rotations.Length; k++) { binding.RotationBinds[j].Rotations[k] = (MyBlockOrientation)definition.Bindings[i].RotationBinds[j].Rotations[k]; } } } } this.Bindings[i] = binding; } } }