Пример #1
0
        /// <summary>
        /// Returns the full list of necessary files to export.
        /// </summary>
        /// <param name="projectScene"></param>
        /// <returns></returns>
        public static ArrayList GetItemsToExport(GUIProjectScene projectScene)
        {
            ArrayList list = new ArrayList();

            // Collect the fonts we'll need to export
            foreach (GUIFont font in GUIProject.CurrentProject.Fonts)
            {
                if (font.Filename != "" && font.FontData != null)
                {
                    list.Add(font);
                }
            }

            if (projectScene.Scene == null)
            {
                projectScene.Open();
            }

            if (projectScene.Scene != null)
            {
                projectScene.Scene.GenerateTextureAtlasses();
                list.AddRange(projectScene.Scene.TextureAtlasses);

                // Collect the textures we'll need to export
                List <TextureInfo> tmpList = new List <TextureInfo>();
                foreach (TextureInfo info in projectScene.Scene.Textures)
                {
                    FinalTexture finalTexture = projectScene.Scene.GetFinalTexture(info.ID);

                    if (finalTexture.mTextureAtlas == null && !list.Contains(info))
                    {
                        list.Add(info);
                    }
                }

                // Collect the sounds we'll need to export
                foreach (SoundInfo info in projectScene.Scene.Sounds)
                {
                    if (info.Filename != "" && !list.Contains(info.Filename))
                    {
                        list.Add(info.Filename);
                    }
                }

                // Now add the scene
                list.Add(projectScene);
            }

            return(list);
        }