コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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;
                }
            }
        }