示例#1
0
        public void CreateSpriteFromGroup()
        {
            var group = new ElementGroup(0);

            group.CreateSprite("");
            Assert.AreEqual(1, group.ElementList.Count);
        }
示例#2
0
        public static ElementGroup ParseFromFile(string path)
        {
            ElementGroup eg = new ElementGroup(0);

            using (OsbElementList elements = new OsbElementList(path))
            {
                foreach (var mgElement in elements)
                {
                    Element osElement;
                    switch (mgElement.ElementType)
                    {
                    case 0:     // sprite
                        osElement = eg.CreateSprite(
                            mgElement.Layer.ToOSharp(),
                            mgElement.Origin.ToOSharp(),
                            mgElement.TexturePath, mgElement.Position.Item1,
                            mgElement.Position.Item2
                            );
                        break;

                    case 1:     // animation
                        osElement = eg.CreateAnimation(
                            mgElement.Layer.ToOSharp(),
                            mgElement.Origin.ToOSharp(),
                            mgElement.TexturePath, mgElement.Position.Item1,
                            mgElement.Position.Item2,
                            mgElement.FrameCount,
                            mgElement.FrameDelay,
                            mgElement.LoopType.ToOSharp()
                            );
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }

                    AddEvent(mgElement.Commands, osElement);
                }
            }

            return(eg);
        }