public void Draw() { Triangle.Draw(_engine.Surface.Canvas); Planets.ForEach(p => p.Draw(_engine.Surface.Canvas)); _engine.Surface.Canvas.DrawLine(0, Planets.Last().Transform.Y - 150, _engine.Surface.Width, Planets.Last().Transform.Y - 150, PaintFinishedLine); }
private void CheckEndGame() { if (Triangle.Transform.X <= -Triangle.Radius * 2 || Triangle.Transform.X >= _engine.Surface.Width + Triangle.Radius * 2) { OnGameEnd(new GameResult { IsWon = false, Balls = Balls }); } if (Planets.Last().Transform.Y - 150 >= Triangle.Transform.Y) { for (var i = 0; i < _engine.Surface.Width; i += 10) { var ps = (ParticlesControllerFire)_engine.Particles.GetSystem(typeof(ParticlesControllerFire)); ps.AddBlood(i, Planets.Last().Transform.Y - 150, new Vec2(), 1); } OnGameEnd(new GameResult { IsWon = true, Balls = Balls }); } if ((-_engine.Surface.Canvas.Camera.Y - Triangle.Transform.Y) + _engine.Surface.Height <= 0) { OnGameEnd(new GameResult { IsWon = false, Balls = Balls }); } }