public Level(NebulaGame aGame, GraphicsDeviceManager aGraphics, Hero aHero, SpriteBatch aSpriteBatch) { myGame = aGame; myGraphics = aGraphics; myHero = aHero; spriteBatch = aSpriteBatch; LoadSprites(); }
public ScrollingManager(Hero anHero, List<BackgroundSprite> backgroundsList, float ScreenWidth, Screen aBackgroundScreen) { myHero = anHero; myBackgrounds = backgroundsList; //caculating the size of the whole background put together foreach (BackgroundSprite bs in myBackgrounds) { backgroundLength += bs.size.Width; } CameraSize = ScreenWidth; //left interval is 10% of screen LEFT_INTERVAL = CameraSize * .10; //right interval is 40% of screen, so the player can see what is coming next RIGHT_INTERVAL = CameraSize * .60; MAX_CAMERA_POS = backgroundLength; myBackgroundScreen = aBackgroundScreen; }
public TimeTravelManager(Texture2D texture, Vector2 position, Vector2 screen, NebulaGame aGame, List<Sprite> aPositionsList, Hero anHero) : base(texture, position) { myTexture = texture; myPosition = position; myScale = new Vector2(1, 2); myGame = aGame; myScreenSize = screen; PositionsList = aPositionsList; myHero = anHero; TimeTravelSound = myGame.Content.Load<SoundEffect>("warp"); TimeTravelSoundInstance = TimeTravelSound.CreateInstance(); TimeTravelSoundInstance.IsLooped = true; myState = new IdleState(this); TimeStack = new Stack(); SetUpInput(); }
public LevelManager(Texture2D texture, Vector2 position, Vector2 screen, NebulaGame aGame, Level aLevel, List<Sprite> aSpritesList, List<Sprite> aPlatformsList, SpriteFont aFont, Hero anHero, Screen aInstructions, Screen aGameOverScreen, List<Screen> aVictoryScreenList, Screen aCutScene, TimeTravelManager aTimeTravelManager, SoundEffect backgroundMusic) : base(texture, position, screen, aGame, aPlatformsList, anHero) { myTexture = texture; myPosition = position; myScreenSize = screen; myGame = aGame; myLevel = aLevel; spritesList = aSpritesList; //Music for the level LaserSoundEffect = myGame.Content.Load<SoundEffect>("LaserSoundEffect"); BackwardsLaserSoundEffect = myGame.Content.Load<SoundEffect>("LaserSoundEffectBackwards"); SoundEffect GameOverSound = myGame.Content.Load<SoundEffect>("breathofdeath"); GameOverSoundInstance = GameOverSound.CreateInstance(); SoundEffect BackgroundMusic = backgroundMusic; LevelMusic = BackgroundMusic.CreateInstance(); LevelMusic.IsLooped = true; SoundEffect StageClear = myGame.Content.Load<SoundEffect>("Stage1-soundclear"); StageClearInstance = StageClear.CreateInstance(); BoostBar[0] = new Sprite(myGame.Content.Load<Texture2D>("boost-bar1"), new Vector2(0, 0)); BoostBar[1] = new Sprite(myGame.Content.Load<Texture2D>("boost-bar2"), new Vector2(0, 0)); BoostBar[2] = new Sprite(myGame.Content.Load<Texture2D>("boost-bar3"), new Vector2(0, 0)); BoostBar[3] = new Sprite(myGame.Content.Load<Texture2D>("boost-bar4"), new Vector2(0, 0)); BoostBar[4] = new Sprite(myGame.Content.Load<Texture2D>("boost-bar5"), new Vector2(0, 0)); foreach (Sprite s in BoostBar) { myLevel.AddSprite(s); } GameOverScreen = aGameOverScreen; VictoryScreenList = aVictoryScreenList; myCutScene = aCutScene; myTimeTravelManager = aTimeTravelManager; for (int i = 0; i < aPlatformsList.Count; i++) { platformsList.Add(aPlatformsList[i]); } // anHero.myPosition = new Vector2(xSL, ySL/2 + ySL/4); myPosition.Y = 0; // myScreenSize.Y - myTexture.Height * 2; ; myFont = aFont; InstructionScreen = aInstructions; //should we pass these in as indivdual items?? setUpSprites((Platform)platformsList[0], (Hero)spritesList[0], (HeroLaser)spritesList[1], (Enemy)spritesList[2], (EnemyLaser)spritesList[3]); EnemiesList.Add(aEnemy); myState = new GameState(this); SetUpInput2(); }
//this is virtual so you can override it if you want. //like if have more than the "basic" sprites of the level //EG 1 Asis and her laser, 1 Platform type of platform, and 1 type of enemy and it's Laser public virtual void setUpSprites(Platform aPlatform, Hero anHero, HeroLaser anLaser, Enemy anEnemy, EnemyLaser anELaser) { myPlatform = aPlatform; aHero = anHero; aLaser = anLaser; aEnemy = anEnemy; eLaser = anELaser; }