public DirectionalAnimatedSpriteDefinition BuildDefinition(ContentManager contentManager) { DirectionalAnimatedSpriteDefinition definition = new DirectionalAnimatedSpriteDefinition(); Dictionary<String, StaticSpriteDefinition> spriteDefs = new Dictionary<string, StaticSpriteDefinition>(); foreach (ISpriteElement sprite in Sprites.Sprites) { StaticSpriteDefinition spriteDef = new StaticSpriteDefinition(); spriteDef.Load(contentManager, Sprites.Source, new Rectangle( sprite.X, sprite.Y, sprite.Width, sprite.Height)); spriteDef.Origin = new Vector2(sprite.OriginX, sprite.OriginY); spriteDefs[sprite.Name] = spriteDef; } foreach (IDirectionElement direction in Directions) { AnimatedSpriteDefinition animDef = new AnimatedSpriteDefinition(); foreach (IFrameElement frame in direction.Animation.Frames) { if (spriteDefs.ContainsKey(frame.Sprite)) animDef.AddSprite(spriteDefs[frame.Sprite], frame.Duration); } if (direction.Animation.Repeat < 0) animDef.RepeatIndefinitely = true; else animDef.RepeatLimit = direction.Animation.Repeat; definition[(Direction)Enum.Parse(typeof(Direction), direction.Value, false)] = animDef; } return definition; }
public AnimatedSpriteDefinition BuildDefinition(ContentManager contentManager) { AnimatedSpriteDefinition definition = new AnimatedSpriteDefinition(); Dictionary<String, StaticSpriteDefinition> spriteDefs = new Dictionary<string, StaticSpriteDefinition>(); foreach (ISpriteElement sprite in Sprites.Sprites) { StaticSpriteDefinition spriteDef = new StaticSpriteDefinition(); spriteDef.Load(contentManager, Sprites.Source, new Rectangle( sprite.X, sprite.Y, sprite.Width, sprite.Height)); spriteDef.Origin = new Vector2(sprite.OriginX, sprite.OriginY); spriteDefs[sprite.Name] = spriteDef; } foreach (IFrameElement frame in Animation.Frames) { if (spriteDefs.ContainsKey(frame.Sprite)) definition.AddSprite(spriteDefs[frame.Sprite], frame.Duration); } if (Animation.Repeat < 0) definition.RepeatIndefinitely = true; else definition.RepeatLimit = Animation.Repeat; return definition; }
public AnimatedSprite(AnimatedSpriteDefinition definition, SpriteInfo spriteInfo) : base(spriteInfo) { _definition = definition; _animData = new AnimationInfo(); }
public AnimatedSprite(AnimatedSpriteDefinition definition, SpriteInfo spriteInfo, AnimationInfo animInfo) : base(spriteInfo) { _definition = definition; }
public AnimatedSprite(AnimatedSpriteDefinition definition) { _definition = definition; _animData = new AnimationInfo(); }