Esempio n. 1
0
 public override IEnumerable <AnimationContext> Get(BaseSprite sprite)
 {
     foreach (var context in m_list)
     {
         if (context.Sprite == sprite)
         {
             yield return(context);
         }
     }
 }
Esempio n. 2
0
        public virtual Vector2 GetCompleteScale(BaseSprite viewport = null)
        {
            var scale = new Vector2(ScaleX, ScaleY);

            if (viewport != null)
            {
                scale.X = scale.X * viewport.ScaleX;
                scale.Y = scale.Y * viewport.ScaleY;
            }

            return(scale);
        }
Esempio n. 3
0
        protected override AnimationContext ApplyCore(BaseSprite sprite)
        {
            return(new ColorAnimationContext()
            {
                StartR = m_startColor.R / 255f,
                FinalR = m_finalColor.R / 255f,

                StartG = m_startColor.G / 255f,
                FinalG = m_finalColor.G / 255f,

                StartB = m_startColor.B / 255f,
                FinalB = m_finalColor.B / 255f,
            });
        }
Esempio n. 4
0
        public override void Draw(SpriteBatch spriteBatch, BaseSprite viewport = null)
        {
            if (!GetCompleteVisible())
            {
                return;
            }

            spriteBatch.DrawString(Font.Font, Text,
                                   GetCompletePosition(viewport),
                                   GetCompleteColor(),
                                   Rotation,
                                   GetCompleteOrigin(),
                                   GetCompleteScale(viewport),
                                   Effects,
                                   Depth);
        }
Esempio n. 5
0
        public override void Draw(SpriteBatch spriteBatch, BaseSprite viewport = null)
        {
            if (!GetCompleteVisible())
            {
                return;
            }

            spriteBatch.Draw(Frame.AtlasTexture,
                             GetCompletePosition(viewport),
                             Frame.GetSourceRectangle(),
                             GetCompleteColor(),
                             Rotation,
                             GetCompleteOrigin(),
                             GetCompleteScale(viewport),
                             Effects,
                             Depth);
        }
Esempio n. 6
0
        public void Apply(BaseSprite sprite, bool reverse = false, Action onComplete = null, Action onBegin = null)
        {
            var context = ApplyCore(sprite);

            context.Sprite   = sprite;
            context.Reverse  = reverse;
            context.Begin    = onBegin;
            context.Complete = onComplete;

            context.Time = (context.Reverse ? Duration : 0);

            if (m_container != null)
            {
                m_container.Add(context);
            }
            else if (m_context == null)
            {
                m_context = context;
            }
            else
            {
                m_contextsToRemove = new List <AnimationContext>();
                switch (m_containerType)
                {
                case ContainerType.List:
                    m_container = new ListContainer();
                    break;

                case ContainerType.Dictionary:
                    m_container = new DictionaryContainer();
                    break;

                default:
                    break;
                }
                m_container.Add(m_context);
                m_context = null;
                m_container.Add(context);
            }
        }
Esempio n. 7
0
 public bool Revert(BaseSprite sprite)
 {
     if (m_container != null)
     {
         bool result = false;
         foreach (var context in m_container.Get(sprite))
         {
             context.Reverse = !context.Reverse;
             result          = true;
         }
         return(result);
     }
     else if (m_context != null)
     {
         if (m_context.Sprite == sprite)
         {
             m_context.Reverse = !m_context.Reverse;
             return(true);
         }
         return(false);
     }
     return(false);
 }
Esempio n. 8
0
 public bool IsInViewPortByBoundingBox(BaseSprite sprite)
 {
     return(GetViewPortBox(sprite).Intersects(sprite.GetBoundingBox()));
 }
Esempio n. 9
0
 public bool IsInViewPortByBoundingRadius(BaseSprite sprite)
 {
     return(GameMath.Intersects(sprite.GetBoundingCircle(), GetViewPortBox(sprite)));
 }
Esempio n. 10
0
 public Rectangle GetViewPortBox(BaseSprite sprite)
 {
     return(new Rectangle((sprite.Fixed ? 0 : (int)X), (sprite.Fixed ? 0 : (int)Y), Width, Height));
 }
Esempio n. 11
0
 protected virtual AnimationContext ApplyCore(BaseSprite sprite)
 {
     return(new AnimationContext());
 }
Esempio n. 12
0
 public virtual void Remove(BaseSprite sprite)
 {
     m_sprites.Remove(sprite);
 }
Esempio n. 13
0
 public virtual void Add(BaseSprite sprite)
 {
     m_sprites.Add(sprite);
 }
Esempio n. 14
0
 public virtual void Draw(SpriteBatch spriteBatch, BaseSprite viewport = null)
 {
 }
Esempio n. 15
0
 public abstract IEnumerable <AnimationContext> Get(BaseSprite sprite);