private void LoadAnimations() { animationController = new AnimationController(); var animGroupPaths = Model.GetReferencedAnimationGroupNames(); var emebeddedAnims = Model.GetEmbeddedAnimations(); if (!animGroupPaths.Any() && !emebeddedAnims.Any()) { return; } SetupAnimationTextures(); // Load animations from referenced animation groups foreach (var animGroupPath in animGroupPaths) { var animGroup = Scene.GuiContext.LoadFileByAnyMeansNecessary(animGroupPath + "_c"); if (animGroup != default) { animations.AddRange(AnimationGroupLoader.LoadAnimationGroup(animGroup, Scene.GuiContext)); } } // Get embedded animations animations.AddRange(emebeddedAnims); }
public void LoadAnimation(string animationName) { var animGroupPaths = Model.GetReferencedAnimationGroupNames(); var embeddedAnims = Model.GetEmbeddedAnimations(); if (!animGroupPaths.Any() && !embeddedAnims.Any()) { return; } if (skeleton == default) { LoadSkeleton(); SetupAnimationTexture(); } // Get embedded animations var embeddedAnim = embeddedAnims.FirstOrDefault(a => a.Name == animationName); if (embeddedAnim != default) { animations.Add(embeddedAnim); return; } // Load animations from referenced animation groups foreach (var animGroupPath in animGroupPaths) { var animGroup = Scene.GuiContext.LoadFileByAnyMeansNecessary(animGroupPath + "_c"); var foundAnimations = AnimationGroupLoader.TryLoadSingleAnimationFileFromGroup(animGroup, animationName, Scene.GuiContext); if (foundAnimations != default) { animations.AddRange(foundAnimations); return; } } }