📄 typereaders.cs
字号:
#region File Description
//-----------------------------------------------------------------------------
// TypeReaders.cs
//
// Microsoft XNA Community Game Platform
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
#endregion
#region Using Statements
using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
#endregion
namespace SkinnedModel
{
/// <summary>
/// Loads SkinningData objects from compiled XNB format.
/// </summary>
public class SkinningDataReader : ContentTypeReader<SkinningData>
{
protected override SkinningData Read(ContentReader input,
SkinningData existingInstance)
{
IDictionary<string, AnimationClip> animationClips;
IList<Matrix> bindPose, inverseBindPose;
IList<int> skeletonHierarchy;
animationClips = input.ReadObject<IDictionary<string, AnimationClip>>();
bindPose = input.ReadObject<IList<Matrix>>();
inverseBindPose = input.ReadObject<IList<Matrix>>();
skeletonHierarchy = input.ReadObject<IList<int>>();
return new SkinningData(animationClips, bindPose,
inverseBindPose, skeletonHierarchy);
}
}
/// <summary>
/// Loads AnimationClip objects from compiled XNB format.
/// </summary>
public class AnimationClipReader : ContentTypeReader<AnimationClip>
{
protected override AnimationClip Read(ContentReader input,
AnimationClip existingInstance)
{
TimeSpan duration = input.ReadObject<TimeSpan>();
IList<Keyframe> keyframes = input.ReadObject < IList<Keyframe>>();
return new AnimationClip(duration, keyframes);
}
}
/// <summary>
/// Loads Keyframe objects from compiled XNB format.
/// </summary>
public class KeyframeReader : ContentTypeReader<Keyframe>
{
protected override Keyframe Read(ContentReader input,
Keyframe existingInstance)
{
int bone = input.ReadObject<int>();
TimeSpan time = input.ReadObject<TimeSpan>();
Matrix transform = input.ReadObject<Matrix>();
return new Keyframe(bone, time, transform);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -