private AnimationChainListSave GetAnimationChainListFromScnxReference(NamedObjectSave referencedNos)
{
string sourceFileName = ContentDirectory + referencedNos.SourceFile;
string sourceFileDirectory = FlatRedBall.IO.FileManager.GetDirectory(sourceFileName);
AnimationChainListSave acls = null;
SpriteEditorScene ses;
if (System.IO.File.Exists(sourceFileName))
{
ses = SpriteEditorScene.FromFile(sourceFileName);
string truncatedName = referencedNos.SourceName.Substring(0, referencedNos.SourceName.LastIndexOf('(') - 1);
SpriteSave spriteSave = ses.FindSpriteByName(truncatedName);
if (spriteSave != null && !string.IsNullOrEmpty(spriteSave.AnimationChainsFile))
{
acls = AnimationChainListSave.FromFile(
sourceFileDirectory + spriteSave.AnimationChainsFile);
}
if (acls == null)
{
SpriteFrameSave sfs = ses.FindSpriteFrameSaveByName(truncatedName);
if (sfs != null)
{
acls = AnimationChainListSave.FromFile(
sourceFileDirectory + sfs.ParentSprite.AnimationChainsFile);
}
}
}
return acls;
}