public M2ModelRenderer(M2File model) { mModel = model; mAnimator = ModelFactory.Instance.CreateAnimator(model); mAnimator.SetAnimationByIndex(0); mAnimator.Update(); }
public M2BatchRenderer(M2File model) { mModel = model; mAnimator = ModelFactory.Instance.CreateAnimator(model); mAnimator.SetAnimationByIndex(0); StaticAnimationThread.Instance.AddAnimator(mAnimator); }
public M2SingleRenderer(M2File model) { mModel = model; if (model.NeedsPerInstanceAnimation) { mAnimationMatrices = new Matrix[model.GetNumberOfBones()]; mAnimator = ModelFactory.Instance.CreateAnimator(model); if (mAnimator.SetAnimation(AnimationType.Stand) == false) { mAnimator.SetAnimationByIndex(0); } } }
private void Dispose(bool disposing) { if (mAnimBuffer != null) { var ab = mAnimBuffer; WorldFrame.Instance.Dispatcher.BeginInvoke(() => { if (ab != null) { ab.Dispose(); } }); mAnimBuffer = null; } mModel = null; mAnimator = null; mAnimationMatrices = null; }
public void RemoveAnimator(IM2Animator animator) { lock (mAnimators) mAnimators.Remove(animator); }
public void AddAnimator(IM2Animator animator) { lock (mAnimators) mAnimators.Add(animator); }