public static void Update() { if (SpawnTime > 0.1f) { SpawnTime -= 0.0008f; } time += window.deltaTime; MissileManager.Update(); if (time > SpawnTime) { cloud.Update(); time = 0; } EnemyMissileManger.Update(); HouseManager.Update(); Ship.Update(); }
//Questo metodo prende un missile libero, lo attiva e gli da una traiettoria //This method graba a free missile , actived and give a path to it public bool Charge(Crosshair crosshair) { Missile m = MissileManager.GetFreeMissile(); if (m != null) { m.Position.x = position.x; m.Position.y = position.y; m.FinalPosition.x = crosshair.position.x; m.FinalPosition.y = crosshair.position.y; m.Direction = new Vector2(m.FinalPosition.x - m.Position.x, m.FinalPosition.y - m.Position.y); m.MaxMagnitude = m.Direction.magnitude(); m.Direction.Normalize(); m.ExplosionSize = 0; m.isActive = true; m.status = Missile.MissileStatus.FLYING; return(true); } return(false); }
public static void Draw() { Utils.ClearScreen(); Utils.DrawSprite(background, 0, 0, 1, 0, 0, background.width, background.height); cannon1.draw(); cannon2.draw(); cannon3.draw(); MissileManager.Draw(); MissileManager.DrawExplosion(); EnemyMissileManger.Draw(); HouseManager.Draw(); Ship.Draw(); Utils.DrawSprite(Cloud, 0, 0, 1, 0, 0, Cloud.width, Cloud.height); crosshair.Draw(); while (window.opened == false && GameOverTime < 5) { Utils.ClearScreen(); Utils.DrawSprite(GameOverScreen, 0, 0, 1, 0, 0, GameOverScreen.width, GameOverScreen.height); GameOverTime += window.deltaTime; window.Blit(); } window.Blit(); }