public void AddSpriteEvent(SpriteEvent sprite) { switch (sprite.Layer) { case EventLayer.Background: BackgroundEvents.Add(sprite); break; case EventLayer.Fail: FailEvents.Add(sprite); break; case EventLayer.Pass: PassEvents.Add(sprite); break; case EventLayer.Foreground: ForegroundEvents.Add(sprite); break; default: throw new ArgumentException("The sprite's (event)layer was not set to a known storyboard layer"); } }
public static EventBase Parse(string s) { var parts = s.Split(Constants.Splitter.Comma); EventTypes etype; EventBase result; if (Enum.TryParse(parts[0], out etype)) { var path = ""; if (parts.Length > 3) { path = parts[3].Trim('\"'); } switch (etype) { case (EventTypes.Sprite): result = new SpriteEvent(path, (EventLayer)Enum.Parse(typeof(EventLayer), parts[1]), (Origin)Enum.Parse(typeof(Origin), parts[2]), float.Parse(parts[4], Constants.IO.CULTUREINFO), float.Parse(parts[5], Constants.IO.CULTUREINFO)); break; case (EventTypes.Animation): Looptypes lt; result = new AnimationEvent(path, int.Parse(parts[6]), int.Parse(parts[7]), (EventLayer)Enum.Parse(typeof(EventLayer), parts[1]), (Origin)Enum.Parse(typeof(Origin), parts[2]), float.Parse(parts[4], Constants.IO.CULTUREINFO), float.Parse(parts[5], Constants.IO.CULTUREINFO), Enum.TryParse(parts[8], out lt) ? lt : Looptypes.LoopForever); break; case (EventTypes.Sample): result = new SampleEvent(parts[3], int.Parse(parts[1]), int.Parse(parts[4]), (EventLayer)int.Parse(parts[2])); break; case (EventTypes.Background): result = new BackgroundEvent(int.Parse(parts[1]), parts[2].Trim('"'), parts.Length > 3 ? int.Parse(parts[3]) : 0, parts.Length > 4 ? int.Parse(parts[4]) : 0); break; case (EventTypes.Video): result = new VideoEvent(int.Parse(parts[1]), parts[2].Trim('"')); break; case (EventTypes.Break): result = new BreakEvent(int.Parse(parts[1]), int.Parse(parts[2])); break; case (EventTypes.Backgroundcolor): result = new BackgroundColorEvent(int.Parse(parts[1]), int.Parse(parts[2]), int.Parse(parts[3]), int.Parse(parts[4])); break; default: result = new UndefinedEvent(parts); break; } } else { result = new UndefinedEvent(parts); } return(result); //0,0,"JamesHa.jpg",0,0 //image //Video,4655,"Jmmxp.avi" //video //2,110843,118365 //break //3 //Backgroundcolor }