FlatRedBall.Glue.GuiDisplay.AvailableAnimationChainsStringConverter.GetAnimationChainListFromScnxReference C# (CSharp) Метод

GetAnimationChainListFromScnxReference() приватный Метод

private GetAnimationChainListFromScnxReference ( NamedObjectSave referencedNos ) : AnimationChainListSave
referencedNos FlatRedBall.Glue.SaveClasses.NamedObjectSave
Результат AnimationChainListSave
        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;
        }