示例#1
0
        public FrameObjectLight(FrameObjectLight other) : base(other)
        {
            Flags             = other.Flags;
            LUnk1             = other.LUnk1;
            LUnk2             = other.LUnk2;
            LUnk3             = other.LUnk3;
            LUnk4             = other.LUnk4;
            LUnk5             = other.LUnk5;
            LUnk6             = other.LUnk6;
            UnkInt1           = other.UnkInt1;
            UnkVector_0       = other.UnkVector_0;
            LUnk7             = other.LUnk7;
            LUnk8             = other.LUnk8;
            UnkByte1          = other.UnkByte1;
            LUnk9             = other.LUnk9;
            LUnk10            = other.LUnk10;
            LUnk11            = other.LUnk11;
            LUnk12            = other.LUnk12;
            UnkVector_1       = other.UnkVector_1;
            UnkVector_2       = other.UnkVector_2;
            LUnk13            = other.LUnk13;
            LUnk14            = other.LUnk14;
            LUnk15            = other.LUnk15;
            UnkVector_3       = other.UnkVector_3;
            LUnk16            = other.LUnk16;
            LUnk17            = other.LUnk17;
            LUnk18            = other.LUnk18;
            UnkByte2          = other.UnkByte2;
            LUnk19            = other.LUnk19;
            LUnk20            = other.LUnk20;
            LUnk21            = other.LUnk21;
            LUnk22            = other.LUnk22;
            LUnk23            = other.LUnk23;
            ProjectionTexture = new HashName(other.ProjectionTexture);
            UnkInt2           = other.UnkInt2;
            LUnk24            = other.LUnk24;
            LUnk25            = other.LUnk25;
            UnkVector_4       = other.UnkVector_4;
            LUnk26            = other.LUnk26;
            LUnk27            = other.LUnk27;
            LUnk28            = other.LUnk28;
            LUnk29            = other.LUnk29;
            LUnk30            = other.LUnk30;
            UnkVector_5       = other.UnkVector_5;
            LUnk31            = other.LUnk31;
            LUnk32            = other.LUnk32;
            LUnk33            = other.LUnk33;
            LUnk34            = other.LUnk34;
            LUnk35            = other.LUnk35;

            TextureHashes = new HashName[4];
            for (int i = 0; i < 4; i++)
            {
                TextureHashes[i] = new HashName(other.TextureHashes[i].String);
            }

            UnkBox        = other.UnkBox;
            UnkByte3      = other.UnkByte3;
            UnknownMatrix = MatrixUtils.CopyFrom(other.UnknownMatrix);
        }
        public FrameObjectModel(FrameObjectModel other) : base(other)
        {
            blendInfoIndex        = other.blendInfoIndex;
            skeletonIndex         = other.skeletonIndex;
            skeletonHierachyIndex = other.skeletonHierachyIndex;
            skeleton  = other.skeleton;
            blendInfo = other.blendInfo;

            restTransform = new Matrix4x4[skeleton.NumBones[0]];
            for (int i = 0; i != restTransform.Length; i++)
            {
                restTransform[i] = MatrixUtils.CopyFrom(other.restTransform[i]);
            }

            unkTransform = MatrixUtils.CopyFrom(other.unkTransform);

            attachmentReferences = new AttachmentReference[other.attachmentReferences.Length];
            for (int i = 0; i != attachmentReferences.Length; i++)
            {
                attachmentReferences[i] = new AttachmentReference(other.attachmentReferences[i]);
            }

            unkFlags      = other.unkFlags;
            physSplitSize = other.physSplitSize;
            hitBoxSize    = other.hitBoxSize;
            nPhysSplits   = other.nPhysSplits;

            blendMeshSplits = new WeightedByMeshSplit[nPhysSplits];
            for (int i = 0; i != blendMeshSplits.Length; i++)
            {
                blendMeshSplits[i] = new WeightedByMeshSplit(other.blendMeshSplits[i]);
            }

            hitBoxInfo = new HitBoxInfo[other.hitBoxInfo.Length];
            for (int i = 0; i != hitBoxInfo.Length; i++)
            {
                hitBoxInfo[i] = new HitBoxInfo(hitBoxInfo[i]);
            }
        }