コード例 #1
0
            private void EnsurePath(SubAtlas atlas, string[] s, int index)
            {
                PackageNames.Add(atlas.Parent.Container.DisplayName);
                var texturePackage = PackageManager.GetTexturePackageName(atlas.Parent.ReferencedTextureName);

                if (texturePackage != null)
                {
                    TexturePackageNames.Add(texturePackage);
                }

                if (index == s.Length)
                {
                    // Leaf node.
                    if (Atlas == null || Atlas.Rect.Width < atlas.Rect.Width)
                    {
                        Atlas = atlas;
                    }
                    return;
                }

                // Branch node.
                var folderToFind = s[index];

                if (!SubFolders.ContainsKey(folderToFind))
                {
                    AddDirectory(new TreeNode(folderToFind));
                }
                SubFolders[folderToFind].EnsurePath(atlas, s, index + 1);
            }
コード例 #2
0
        private void GetViewing(out SubAtlas atlas, out TextureEntry entry)
        {
            atlas = null;
            entry = null;
            if (TreeView == null || TreeView.Selection == null)
            {
                return;
            }
            var rows = TreeView.Selection.GetSelectedRows();

            if (rows.Length != 1)
            {
                return;
            }

            TreeIter iter;

            Model.GetIter(out iter, rows[0]);
            atlas = ((SubAtlas)Model.GetValue(iter, SUBATLAS_COLUMN));
            if (atlas == null)
            {
                return;
            }

            // Get the texture that the sub atlas references.
            if (atlas.Parent.IsReference)
            {
                entry = PackageManager.GetTextureByName(atlas.Parent.ReferencedTextureName);
            }
            else
            {
                entry = atlas.Parent.IncludedTextureEntry;
            }
        }
コード例 #3
0
 public void EnsurePath(SubAtlas atlas)
 {
     EnsurePath(atlas, atlas.Name.Split(new char[] { '/', '\\' }), 0);
 }