Example #1
0
 public DisplayTile(Vector2 position, float width, float height)
 {
     State = DISPLAYTILESTATE.INACTIVE;
     _Position = position;
     Width = width;
     Height = height;
     Border = new Rect(Position.X, Position.Y, Width, Height);
     MaxActiveDurationInMilliseconds = 15000 + Statics.Random.Next(5000);
     BackgroundColor = Statics.RandomColor();
 }
Example #2
0
 public void Update(CanvasAnimatedUpdateEventArgs args)
 {
     switch (State)
     {
         case DISPLAYTILESTATE.FADING_IN:
             Opacity += 5;
             if (Opacity == 255) { State = DISPLAYTILESTATE.ACTIVE; }
             CalculateBackgroundColorStep();
             break;
         case DISPLAYTILESTATE.ACTIVE:
             CurrentActiveDurationInMilliseconds += args.Timing.ElapsedTime.TotalMilliseconds;
             if (CurrentActiveDurationInMilliseconds > MaxActiveDurationInMilliseconds)
             {
                 CurrentActiveDurationInMilliseconds = 0;
                 State = DISPLAYTILESTATE.FADING_OUT;
             }
             CalculateBackgroundColorStep();
             break;
         case DISPLAYTILESTATE.FADING_OUT:
             Opacity -= 5;
             if (Opacity == 0)
             {
                 RecycleFeedItemData();
                 State = DISPLAYTILESTATE.INACTIVE;
             }
             break;
         case DISPLAYTILESTATE.INACTIVE:
             // get new feed item?
             if (Statics.Random.Next(10) == 0)
             {
                 SetFeedItem(Statics.CanvasDevice, FeedDataSource.GetNextFeedItem());
                 TargetBackgroundColor = Statics.RandomColor();
                 State = DISPLAYTILESTATE.FADING_IN;
             }
             break;
     }
 }