void ModelStarChangedEventHandler(object sender, StarChangedEventArgs e) { if (e.Disappeared && _stars.ContainsKey(e.Point)) { FrameworkElement control = _stars[e.Point]; _sprites.Remove(control); } else { if (!_stars.ContainsKey(e.Point)) { FrameworkElement control = InvadersHelper.StarControlFactory(e.Point, Scale); _stars.Add(e.Point, control); _sprites.Add(control); } else { //Stars typically won't change locations, so this else clause probably won't //get hit—but you can use it to add shooting stars if you //want.Look up the star's control in _stars and use a //helper method to move it to the new location. //Random random = new Random(); } } }
private void ModelStarChangedEventHandler(object sender, StarChangedEventArgs e) { if (e.Disappeared && _stars.ContainsKey(e.Point)) { FrameworkElement control = _stars[e.Point]; _sprites.Remove(control); } else { if (!_stars.ContainsKey(e.Point)) { FrameworkElement starControl = InvadersHelper.StarControlFactory(Scale); InvadersHelper.SendToBack(starControl); _stars.Add(e.Point, starControl); _sprites.Add(starControl); InvadersHelper.SetCanvasLocation(starControl, e.Point.X, e.Point.Y, Scale); } else { // Create a shooting star FrameworkElement starControl = _stars[e.Point]; InvadersHelper.MoveElementOnCanvas(starControl, InvadersModel.PlayAreaSize.Width, InvadersModel.PlayAreaSize.Height, Scale); } } }
public void PopulateSprites() { RecreateScanLines(); foreach (Point star in _model._stars) { StarControl newStar = InvadersHelper.StarControlFactory(star, Scale) as StarControl; _starDictionary.Add(star, newStar); // Obsolete: // InvadersHelper.SetCanvasLocation(newStar, star.X, star.Y, Scale); _sprites.Add(newStar); } }
void ModelStarChangedEventHandler(object sender, StarChangedEventArgs e) { if (e.Disappeared && _stars.ContainsKey(e.Point)) { FrameworkElement starControl = _stars[e.Point]; _sprites.Remove(starControl); } else { if (!_stars.ContainsKey(e.Point)) { FrameworkElement starControl = InvadersHelper.StarControlFactory(e.Point, Scale); _stars[e.Point] = starControl; _sprites.Add(starControl); } else { FrameworkElement starControl = _stars[e.Point]; InvadersHelper.SetCanvasLocation(starControl, e.Point.X * Scale, e.Point.Y * Scale); } } }
private void StarChangedHandler(object sender, StarChangedEventArgs e) { Point star = e.StarThatChanged; if (e.Removed) { if (_starDictionary.ContainsKey(e.StarThatChanged)) { StarControl starControl = _starDictionary[e.StarThatChanged]; _starDictionary.Remove(e.StarThatChanged); _fadedStars.Add(starControl, DateTime.Now); starControl.FadeOut(); //// not sure where to put this resize element method //InvadersHelper.ResizeElement(starControl, e.StarThatChanged.X * Scale, e.StarThatChanged.Y * Scale, // e.StarThatChanged.X * Scale, e.StarThatChanged.Y * Scale, Scale); } } else { StarControl newStar; if (_starDictionary.ContainsKey(e.StarThatChanged)) { newStar = _starDictionary[e.StarThatChanged]; } else { newStar = InvadersHelper.StarControlFactory(star, Scale) as StarControl; _starDictionary[e.StarThatChanged] = newStar; newStar.FadeIn(); _sprites.Add(newStar); } //InvadersHelper.SetCanvasLocation(newStar, e.StarThatChanged.X, e.StarThatChanged.Y, Scale); //// not sure where to put this resize element method //InvadersHelper.ResizeElement(newStar, e.StarThatChanged.X * Scale, e.StarThatChanged.Y * Scale, // e.StarThatChanged.X * Scale, e.StarThatChanged.Y * Scale, Scale); } }