Exemple #1
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param config 配置信息
        //============================================================
        public void LoadModelConfig(FXmlNode config)
        {
            // 读取属性信息
            _boneId = config.GetInteger("bone_id");
            _bone   = _model.Skeleton.Bones.Get(_boneId);
            // 读取所有子节点
            foreach (FXmlNode node in config.Nodes)
            {
                switch (node.Name)
                {
                case "LocalMatrix":
                    _localMatrix.LoadSimpleAngleConfig(node);
                    break;

                case "WorldMatrix":
                    _worldMatrix.LoadSimpleAngleConfig(node);
                    break;

                case "Types":
                    break;

                case "Frames":
                case "FrameCollection":
                    LoadFrameListConfig(node);
                    break;
                }
            }
        }
Exemple #2
0
        //============================================================
        // <T>加载配置信息。</T>
        //
        // @param config 配置信息
        //============================================================
        public void LoadModelConfig(FXmlNode xconfig)
        {
            // 读取根骨骼
            foreach (FXmlNode node in xconfig.Nodes)
            {
                if (node.IsName("Bone"))
                {
                    FDrBone bone = new FDrBone(_model);
                    bone.LoadModelConfig(node);
                    _roots.Push(bone);
                }
            }
            // 调整骨骼编号
            int count = _bones.Count;

            for (int n = 0; n < count; n++)
            {
                FDrBone bone = _bones.Value(n);
                _adjustBones.Push(bone);
                bone.AdjustId = n;
            }
        }