public AniMetaSpriteButton(string path)
        {
            ani = AsepriteAnimation.New(path, "hovered");
            ani.TryGetCurrentFrameRect("text", out var contentRect);
            var aniRect = new RectangleF(0, 0, ani.Width, ani.Height);

            if (SplitNine(aniRect, contentRect, out nineRectList) == false)
            {
                Log.Warnning("error nine button of " + path);
            }
        }
        public void Reset(string path)
        {
            ani       = AsepriteAnimation.New(path, null);
            aniCloned = ani.Clone();

            ani.FrameBegin += (index) =>
            {
                Console.WriteLine($"{path} - b - [{index}] / { ani.FrameCount - 1}");

                foreach (var evtName in ani.GetFrameEvent(index))
                {
                    Console.WriteLine($"event:   " + evtName);
                }
            };
            ani.FrameEnd += (index) =>
            {
                Console.WriteLine($"{path} - e - [{index}] / { ani.FrameCount - 1}");
            };
            tagNameList.Clear();
            tagNameList.AddRange(ani.TagNameIter);
            tagNameIndex = -1;
            ToNextTag();
            Window.SetTitle(path);
        }