/// <summary> /// Konstruktor jest prywatny, bo LoadingScreen powinno być aktywowane tylko /// przez metodę statyczną Load. /// </summary> private LoadingScreen(ScreenManager screenManager, bool loadingIsSlow, GameScreen[] screensToLoad) { this.loadingIsSlow = loadingIsSlow; this.screensToLoad = screensToLoad; TransitionOnTime = TimeSpan.FromSeconds(0.5); }
/// <summary> /// Load /// </summary> public static void Load(ScreenManager screenManager, bool loadingIsSlow, params GameScreen[] screensToLoad) { foreach (GameScreen screen in screenManager.GetScreens()) screen.ExitScreen(); LoadingScreen loadingScreen = new LoadingScreen(screenManager, loadingIsSlow, screensToLoad); screenManager.AddScreen(loadingScreen); }
/// <summary> /// Konstruktor aplikacji /// </summary> public Minifice() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; //graphics.PreferredBackBufferWidth = 1024; //graphics.PreferredBackBufferHeight = 768; // Tworzenie Menadzera ekranow screenManager = new ScreenManager(this, graphics); screenManager.TraceEnabled = true; Components.Add(screenManager); // Dodanie screenManagera jako komponentu gry. Wiêcej wyjaœnione w odpowiednim rozdziale. screenManager.AddScreen(new BackgroundScreen(@"Menu\background")); screenManager.AddScreen(new MainMenuScreen()); }
public void Shoot(ScreenManager screenManager, Weapon weapon, GameTime gameTime, List<Missile> missiles) { if (gameTime.TotalGameTime.TotalSeconds - timeLastShot.TotalSeconds > Unit.shotFrequency && !isDying && aware) { timeLastShot = new TimeSpan(gameTime.TotalGameTime.Days, gameTime.TotalGameTime.Hours, gameTime.TotalGameTime.Minutes, gameTime.TotalGameTime.Seconds, gameTime.TotalGameTime.Milliseconds); missiles.Add(Missile.FromWeapon(weapon, position + new Vector2(0,-20), new Vector2(target.position.X, target.position.Y), timeLastShot, Faction.Enemies, gameTime)); missiles.Last().Load(screenManager.Game.Content); } }
public GameManager(Difficulty difficulty,ScreenManager screenManager) : this() { this.difficulty = difficulty; this.screenManager = screenManager; //int tileCount = 50; //camera.Zoom = screenManager.Settings.Resolution.Y / tileCount / GameMap.TileShift.Y * 2; content = screenManager.Game.Content; Level1(); GameInterface = new GameInterface(); GameInterface.Load(content); Fighters = new List<Fighter>(); Enemies = new List<Enemy>(); Bonuses = new List<Bonus>(); Missiles = new List<Missile>(); weaponsArsenal = new Dictionary<Weapon,int>(); //FileManager fileManager = new FileManager(); //fileManager.Serialize<GameManager>(@"mission1", this); Fighter a = new Fighter(true, new Vector2(700f,700f), camera); a.Load(content); a.moveStrategy = new GotoPoint(GameMap, Fighters, Enemies, a); Fighter b = new Fighter(false, new Vector2(730f, 730f), camera); b.Load(content); b.moveStrategy = new Follow(GameMap, Fighters, Enemies, b, a); Fighter c = new Fighter(false, new Vector2(760f, 760f), camera); c.Load(content); c.moveStrategy = new Follow(GameMap, Fighters, Enemies, c, b); Fighter d = new Fighter(false, new Vector2(790f, 790f), camera); d.Load(content); d.moveStrategy = new Follow(GameMap, Fighters, Enemies, d, c); Fighter e = new Fighter(false, new Vector2(820f, 820f), camera); e.Load(content); e.moveStrategy = new Follow(GameMap, Fighters, Enemies, e, d); Fighters.Add(a); Fighters.Add(b); Fighters.Add(c); Fighters.Add(d); Fighters.Add(e); camera.Pos = a.position; Enemy A = new Enemy(new Vector2(30f, 43f), camera); A.Load(content); A.moveStrategy = new Patrol(GameMap, Fighters, Enemies, A, new Vector2(100f, 50f), new Vector2(170f, 80f), 1.4f); Enemies.Add(A); A = new Enemy(new Vector2(40f, 23f), camera); A.Load(content); A.moveStrategy = new Patrol(GameMap, Fighters, Enemies, A, new Vector2(30f, 120f), new Vector2(170f, 80f), 1.7f); Enemies.Add(A); A = new Enemy(new Vector2(40f, 55f), camera); A.Load(content); A.moveStrategy = new Patrol(GameMap, Fighters, Enemies, A, new Vector2(40f, 20f), new Vector2(100f, 10f), 2.3f); Enemies.Add(A); }
/// <summary> /// Metoda statyczna generujaca cala klase GameManager /// </summary> public static GameManager Load(ContentManager content, Difficulty difficulty, ScreenManager screenManager) { FileManager fileManager = new FileManager(); GameManager newInstance = fileManager.Deserialize<GameManager>(@"Missions\Mission1"); newInstance.Fighters = new List<Fighter>(); newInstance.Bonuses = new List<Bonus>(); newInstance.Missiles = new List<Missile>(); newInstance.GameMap.Load(content); foreach (Enemy e in newInstance.Enemies) e.Load(content); foreach (Fighter f in newInstance.Fighters) f.Load(content); newInstance.difficulty = difficulty; newInstance.screenManager = screenManager; newInstance.MissionId = 1; newInstance.content = content; newInstance.GameInterface = new GameInterface(); newInstance.GameInterface.Load(content); return newInstance; }
public void Shoot(ScreenManager screenManager, InputState input, Weapon weapon, GameTime gameTime, List<Missile> missiles) { if (gameTime.TotalGameTime.TotalSeconds - timeLastShot.TotalSeconds > Unit.shotFrequency && !isDying) { timeLastShot = new TimeSpan(gameTime.TotalGameTime.Days, gameTime.TotalGameTime.Hours, gameTime.TotalGameTime.Minutes, gameTime.TotalGameTime.Seconds, gameTime.TotalGameTime.Milliseconds); missiles.Add(Missile.FromWeapon(weapon, position+new Vector2(0,-20), new Vector2(input.CurrentMouseState.X - GameInterface.Width - (screenManager.Settings.Resolution.X - GameInterface.Width) / 2 + camera.Pos.X, input.CurrentMouseState.Y - screenManager.Settings.Resolution.Y / 2 + camera.Pos.Y), timeLastShot, Faction.Fighters, gameTime)); missiles.Last().Load(screenManager.Game.Content); } }