Пример #1
0
        private void RunFade(ref Fade newfade)
        {
            if (newfade.Time == 0)
            {
                this.Color = Color.White * newfade.ToPercent;
                newfade.IsDone = true;
                newfade.IsDoing = false;
                return;
            }

            if (!newfade.IsDoing)
            {
                currentFadePercent = ((float)this.Color.A / 255);
                if(newfade.FromPercent != currentFadePercent)
                {
                    newfade.FromPercent = currentFadePercent;
                }

                float time = newfade.Time;
                newfade.IsDoing = true;
                speedFade = (newfade.ToPercent - newfade.FromPercent) / (time * 60);
                fadeRatio = (newfade.ToPercent - newfade.FromPercent);
                if (this.Color == new Color(0,0,0,0))
                {
                    this.Color = new Color(1,1,1,1);
                }
            }

            if (Math.Abs(fadeRatio) >= Math.Abs(currentFadePercent - newfade.FromPercent) && !newfade.IsDone)
            {
                if (Math.Abs(newfade.ToPercent - Math.Abs(currentFadePercent)) < Math.Abs(speedFade))
                {
                    this.Color = Color.White * newfade.ToPercent;
                    newfade.IsDone = true;
                    newfade.IsDoing = false;
                }
                else
                {
                    currentFadePercent += speedFade;
                    this.Color = Color.White * (currentFadePercent);
                }
            }
            else
            {
                newfade.IsDone = true;
                newfade.IsDoing = false;
            }
        }
Пример #2
0
 public virtual void AddFade(Fade fade)
 {
     _fadeList.Add(fade);
 }
Пример #3
0
 public virtual void AddFade(Fade fade)
 {
     _fadeList.Add(fade);
 }