Example #1
0
        private void AddAnimation()
        {
            if (lst_Dirs.SelectedItems.Count == 0)
            {
                return;
            }

            foreach (var item in lst_Dirs.SelectedItems)
            {
                var name = (string)item;
                var ani  = new Model.Animation();
                asset.Atlas.Animations.Add(ani);
                ani.Name = name;

                var files     = System.IO.Directory.GetFiles(project.MakeAbsolutePath(name));
                var filesList = new List <string>(files);
                filesList.Sort((a, b) => {
                    var aname = System.IO.Path.GetFileNameWithoutExtension(a);
                    var bname = System.IO.Path.GetFileNameWithoutExtension(b);
                    if (int.TryParse(aname, out int anum) &&
                        int.TryParse(bname, out int bnum))
                    {
                        return(anum.CompareTo(bnum));
                    }
                    return(string.Compare(aname, bname));
                });
                foreach (var file in filesList)
                {
                    var filename = System.IO.Path.GetFileName(file);
                    ani.Frames.Add(name + "/" + filename);
                }
                lst_Animations.Items.Add(name);
            }
            RefreshList();
        }
Example #2
0
        private Bitmap MakeAtlas(int index, bool useSetting)
        {
            var asset = project.Assets[index];

            if (asset.Atlas == null)
            {
                asset.Atlas = new Model.Atlas();
            }

            if (useSetting)
            {
                return(asset.Atlas.GenerateSpriteSheetImage(
                           project.MakeAbsolutePath(asset.Path),
                           Decimal.ToInt32(numSpritePadding.Value),
                           checkSpriteAtlasNPOT.Checked,
                           checkSpriteAtlasCopyBorder.Checked));
            }
            else
            {
                return(asset.Atlas.GenerateSpriteSheetImage(
                           project.MakeAbsolutePath(asset.Path), 0, true, false));
            }
        }
Example #3
0
        public void SetData(Model.Project project, Model.Asset asset)
        {
            if (project == null || asset == null)
            {
                Close();
                return;
            }

            this.project = project;
            this.asset   = asset;

            string        rootpath = project.MakeAbsolutePath(asset.Path);
            List <string> dirs     = GetLastDirs(rootpath, rootpath);

            this.dirs = dirs;

            lst_Frames.LargeImageList = new ImageList();
            foreach (Model.Sprite sprite in asset.Atlas.Sprites)
            {
                lst_Frames.LargeImageList.Images.Add(sprite.ImageName, sprite.Image);
            }

            RefreshList();
        }